Unix操作系统学习简要

  • A+
所属分类:信息技术

Unix操作系统学习简要

快速学习的诀窍:

Unix操作系统学习简要

Day01

1.开发环境

Fedora

2.查看当前运行的shell环境

运行ps即可。

临时切换shell的方法为直接输入目标shell程序名,例如bs、csh、ksh、tcsh,退出的方法为exit。

Linux默认shell是bs,root可以为任意一个用户指定允许的shell。

彻底切换shell的做法为exec shellname,例如彻底切换到tcsh则执行exec tcsh。

3.清屏:clear或者ctrl+L

4.查看进程:ps

5.查看当前工作目录:pwd

6.改变工作目录:cd(change directory)

7.查看软件版本:软件名 -v,例如:gcc -v

8.远程操作:telnet 192.168.1.103

9.vim开发环境配置

su root

yum -y install vim

配置参考:

http://www.cnblogs.com/hanxiaoyu/p/5538689.html

http://jingyan.baidu.com/article/046a7b3efd165bf9c27fa915.html

常见的设置:

(切换到root用户,分别编辑/etc/vimrc和/etc/vim配置文件)

syntax on意思是语法高亮,如果您的被注释掉了,请“让它出来”。

请在您的VIM的最后一行,输入他们,可以让您的VIM变得更漂亮、舒服。

set nu // 在左侧行号

set tabstop //tab 长度设置为 4

set nobackup //覆盖文件时不备份

set cursorline //突出显示当前行

set ruler //在右下角显示光标位置的状态行

set autoindent //自动缩进

保存之后,配置完毕。

10.退出

【ctrl+d】

11.linux用户信息

cat /etc/passwd

ag:x:1000:1000:ag:/home/ag:/bin/bash

用户名:密码:用户ID:组ID:关于该用户的备注信息:主目录:登陆的shell

密码写为x是因为密码是保密信息,不是什么人都能看的,密码文件保存在另外的地方(/etc/shadow文件,且是加密的!)

更多解释:http://blog.csdn.net/shandianling/article/details/8968331

11.查看用户信息的命令:id

Day02

12.比较常用的三个linux版本是redhat、fedora和cengot,开发常用fedora。

13.跳转某用户的主目录:cd ~username

14.Linux每个目录下都有的两个文件是.和..

15.ls按照不同类型的文件标注不同的符号:ls –F(*表示可执行文件,@表示软连接,/表示目录)。

16.ls查看掩藏文件:ls –a,查看掩藏文件但不显示.和..:ls –A

17.ls –l中前面显示X的表示可执行文件,可以用ls –F验证。

18.ls –lr:按照文件名倒序排列

19. ls –tl:按照时间排列

20.ls –R:列出目录树

21.ls –l不同字母打头的意思:

P:管道pipe

-:普通文件

d:目录

l:链接

22.软连接即快捷方式,硬连接则不是快捷方式、操作硬连接等于直接操作目标文件。

软连接:多个文件(超链接)对应一个文件,删除某个软连接不影响其他软连接和目标文件;

硬连接:多个名字(硬连接)对应一个文件,删除某个硬连接只是减少一个名字、只是减少硬连接的数量、并不一定会将目标文件从磁盘上删除、只有在硬连接数量变为0的时候文件内容才真正从磁盘删除,硬链接要求必须在同一个物理设备(磁盘)上;

软连接是另外再建一个文件(超链接),没有要求在同一个设备上、主次关系有明确的方向;硬连接则只是另外取一个名字。每个硬连接之间是平等的、没有谁是谁的硬连接的说法。

23.创建连接

软连接:ln –s /bin/sleep bs

硬连接:ln /bin/sleep bs

24.目录不能建硬连接,我们建一个目录、则硬连接的数量至少是2(.和..)。

25.rread,wwrite,xexecute

一个文件有9个格子显示权限,分别对应自己、自己的组、everyone。

Unix操作系统学习简要

例如,上图中l表示该文件是一个连接,rwx表示自己有读写执行的权限,自己组内的其他人有读写执行的权限,其他人有读写执行的权限。

Unix操作系统学习简要

上图表示该文件是一个目录,主人有读写执行的权限,同组的有读和执行的权限,其他人有读和执行的权限。

Unix操作系统学习简要

上图表示该文件是一个管道,主人有读写权限,本组有读权限,其他人有读权限。

26.修改权限

chmod

chmod ugo filename :u表示自己,g表示本组,o表示其他人

例如不允许其他组的人有任何权限,可以执行:

chmod o-rwx filename或者chmod o=- filename

允许本组人写,可移执行

chmod g+w filename或者chmod g=w filename

一次指定多个人的权限

chmod u=rwx,g=x,o=r filename

或者用数字表示:

r4

w2

x1

-0

则rwx可表示为7,只有读和执行5.只有执行5。

例如,自己所有权限,组内执行,其他读取:714

自己所有权限,其他人读写,755

自己读写,其他只能读,644

增加自己的执行权限:chmod u+x filename

增加所有人的执行权限:chmod ugo+x filename或者chmod a+x filename

a表示all,等价于ugo

为了专业一点,表示为八进制,所以用数字表示的时候习惯上会在前面加一个0(C语言中0打头的表示这是一个八进制数),所以一般表示为0755,0644之类的。

通常网站的配置文件设置为0700,其他文件设置为0644,服务器脚本设置为0700或者0755.

27.查看日历:

全年:cal 2016

某月:cal 10 2016

28.写入文件

覆盖:date > a.txt

追加:date >> a.txt

直接输出到文件:echo hello linux >> linux.txt

29./dev/tty表示终端屏幕和键盘

例如 date > /dev/tty表示将date的执行结果输出到当前屏幕和终端‘

/dev/null表示黑洞文件,永远是一个空文件

例如date > /dev/null表示将date输出的内容直接丢弃

例如清空linux版本信息:cat /dev/null > /etc/issue (将空值覆盖到保存linux版本信息的文件)

30.echo时加双引号则不会忽略空格,否则空格会被忽略。

Day03

31.通配符

*:所有,例如rm –rf ./work/*

?:单个,例如来了-的./sver?

匹配[]:ehho [4-45],一定只有一个字符!!

32.查看文件:tail,more,less,cat,wc(以空格作为单词进行分词)

wc –l 显示行数

wc –w 显示单词数

wc –c 显示字符数

33.在文件中查找有指定内容的行

grep root /etc/passwd

grep 字符串 文件

grep –i root /etc/passwd 忽略查找字符串的大小写

grep root /etc/passwd

grep –v 字符串 文件 查找判断文件中是否不包含特定字符串

34.把一个文件的输出直接交给另外一个命令处理:管道(竖线)

grep root /etc/passwd | more

cat /etc/passwd | more

cat /etc/passwd | wc –l

grep –i nologin /etc/passwd > nologin_user.txt

grep –i nologin /etc/passwd | wc -w

35.不错的编辑器kate、vim

36.几个退出的快捷键

ctrl+z:任务挂起到后台吗,终端可以继续做其他的,ps –l可以查看后台情况。

ctrl+d:强行退出。

37.ps –l的状态:

S:睡眠(等时间到了会再运行)

T:挂起状态(一直等待,等于死了)

R:运行状态

Z:僵尸状态

ps –e显示所有终端进程(ps默认只查看本终端的进程)

ps –e –l以长格式显示所有终端的进程

ps –f –p 进程号

ps –f

ps -l

38.人为将任务放到后台(不占用终端)执行,命令后加&符号

sleep 10 让sleep在前台执行

ctrl + c取消

sleep 10 & 让sleep在后台执行(ps可查看状态)

39.专门查询后台任务:jobs

jobs的编号一般是按照任务进来的时间编的,加减号是优先级符号,没有加减号的优先级最低。

将后台任务调到前台运行:fg表示将带+号的任务带到前台执行

ctrl+z挂起前台任务,执行jobs会看到状态为stopped.

将指定的后台任务切到前台:fg 编号

jobs查看后台任务

fg 编号 将后台任务切换到前台运行

bg将后台+号的的任务在后台执行起来(解除后台任务的挂起状态)

bg 编号 将指定的后台任务在后台运行起来

jobs的状态类型:

scheduled,released,running,completed,terminated,canceled

40.终止某个进程/任务的方法

ctrl + c或者 kill pid

ps可以查看进程号,然后用kill灭掉他。

jobs查看后台任务

kill %任务编号 终止特定编号的后台job

Day04

41.查看帮助

例如:

man ls

man awk

man top

man cat

42.find

find 目录 条件[处理命令]

例如,按照名字查找

find . –name f1 查找当前目录下名字是f1的文件

find . –name sap 在整个系统里搜索sap文件

find / -name “f*” 在整个系统里搜索f开头的文件

find . –name “.cpp” 在当前目录下查找C++程序的源文件

find . –name “.cpp” –exec cp {} srcbackup \; 在当前目录下查找C++程序的源文件并复制到srcbackup 目录。

43.查看linux系统使用历史

history

users

who

44.其他

free –g

df –h

du –sh

pwd

ping

ifconfig

ifconfig –a

ftp

write

echo

echo find f*

env

echo ‘date’

gcc

cc

make

make install

echo $PWD

echo $JAVA_HOME

echo $HOME

echo $LANG

echo $LOGINNAME

echo $PS1

指定命令提示符的环境变量是PS1

例如:PS1=hello

则之后的命令提示符会变成hello

echo $PATH

修改别名

alias pl=”ps -l”

alias c=”clear”

alias ym=”yum –y update”

永久修改自己的初始化环境:vi ~/.bashrc

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: