九、man指令
Linux的命令有很多参数,不可能全部记住,可以通过查看联机手册获取帮助:
man [选项] 命令
选项:
1. -k 根据关键字搜索联机帮助 2. num 只在第num章节找 3. -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 4. 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
手册分为8章
1. 1 是普通的命令 2. 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 3. 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件 4. 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 5. 6 是给游戏留的,由各个游戏自己定义 6. 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明 7. 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
在man手册不全的情况下可以用yum安装man手册:
yum install -y man-pages
想查看fork函数的用法,fork函数时系统函数,因此加上2:
输入q就可以推出man手册:
十、cp指令
cp指令用来复制文件或目录,相当于windows下的复制操作:
cp 源 目标
同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
选项:
1. -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 2. -i 或 --interactive 覆盖文件之前先询问用户 3. -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 4. 接,则一律视为普通文件处理 5. -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
将/home/delia/linux/multiDirectory/dir/路径下的dir1文件夹复制到/home/delia/linux/directory/文件夹下,此时由于dir1位于multiDirectory/dir文件夹下,所以在multiDirectory目录下复制dir1文件夹时,需要加上-r选项,递归复制dir/dir1文件夹:
也可以对拷贝文件或文件夹重命名,这里的dir1是文件夹,因此要加-r,如果是文件就不需要加-r:
十一、mv指令
mv命令是move的缩写,用来移动文件或者对文件改名,经常用来备份文件或者目录,相当于windows下的剪切操作:
mv 源 目标
功能:
1. 根据mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
选项:
1. -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 2. -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
将lesson2下面的IP.log挪到multiDirectory文件夹下:
十二、cat指令
查看文件内容:
cat 文件
查看IP.log文件内容:
选项:
1. -b 对非空输出行编号 2. -n 对输出的所有行编号 3. -s 不输出多行空行
查看IP.log文件内容并对行编号:
tac,逆序输出文件内容,和cat的行显示顺序刚好相反:
十三、more指令
查看文件内容:
more 文件名
不加选项时,显示全部文件内容,和cat作用一样:
选项:
-n 对输出的所有行编号
如加选项-n就显示前n行:
more还有相应操作:
1. Enter 向下n行,需要定义。默认为1行 2. Ctrl+F 向下滚动一屏 3. 空格键 向下滚动一屏 4. Ctrl+B 返回上一屏 5. = 输出当前行的行号 6. :f 输出文件名和当前行的行号 7. V 调用vi编辑器 8. !命令 调用Shell,并执行命令 9. q 退出more
more翻行只能向下翻行,不能向上翻行。
十四、less指令
less既可以向下翻行,也可以向上翻行
less 文件名
less 对文件或其它输出进行分页显示,是linux正统查看文件内容的工具,功能强大。less 的用法比起 more 更加的有弹性。 more无法向前翻, 只能往后看。使用 less ,就可以使用 [pageup][pagedown] 来往前或往后翻看文件。 less 还有更多的搜索功能,还可以向下搜或向上搜。且less在查看之前不会加载整个文件
使用less指令后,可以使用PgDn向下翻页:
功能很强大:
1. -g 只标志最后搜索的关键词 2. -i 忽略搜索时的大小写 3. -m 显示类似more命令的百分比 4. -N 显示每行的行号 5. /字符串:向下搜索"字符串"的功能 6. ?字符串:向上搜索"字符串"的功能 7. n:重复前一个搜索(与 / 或 ? 有关) 8. N:反向重复前一个搜索(与 / 或 ? 有关) 9. b 向上翻一页 10. d 向后翻半页 11. h 显示帮助界面 12. Q 退出less 命令 13. u 向前滚动半页 14. y 向前滚动一行 15. 空格键 滚动一页 16. 回车键 滚动一行 17. [pagedown]: 向下翻动一页 18. [pageup]: 向上翻动一页
十五、head指令
显示文件开头,默认显示前10行:
选项:
-n<行数> 显示行数行
显示前两行内容:
十六、tail指令
显示文件末尾内容:
tail 文件名
默认显示文件后10行:
选项:
1. -f 循环读取 2. -n<行数> 显示行数
显示后两行内容:
十七、重定向
重定向也称为输出重定向,把在终端执行命令本来应该显示到显示器的结果内容保存到目标文件。重定向分为两种:
1.>重定向
覆盖原有内容,文件的原有数据不保留,相当于文件操作'w'
将IP.log文件的后2行重定向到IP2.log文件中:
再重新将IP.log的前2行重定向到IP2.log文件中,发现IP2.log文件中之前的内容已经被覆盖了:
2.>>重定向
如果不想清空目标文件原有内容,追加写入文件末尾,原有数据保留,相当于文件操作'a'
将IP.log的后两行追加到IP2.log的末尾,IP.log文件没有被覆盖:
如果目标文件不存在,这两种操作都会首先创建该目标文件。
十八、管道
管道:将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,对命令做流水线处理。
命令 | 命令
使用管道的时候,默认隐式地发生了重定向,把本来应该显示到显示器的内容作为下一个命令的输入。
如想取出IP.log文件的第12行内容:
通过管道,先取出前12行内容,再通过管道取出最后一行内容:
十九、data指令
1.显示时间
显示或设置系统日期和时间:
以指定格式显示时间:
date +%Y:%m:%d
时间格式的常用标记列表:
1. %H : 小时(00..23) 2. %M : 分钟(00..59) 3. %S : 秒(00..61) 4. %X : 相当于 %H:%M:%S 5. %d : 日 (01..31) 6. %m : 月份 (01..12) 7. %Y : 完整年份 (0000..9999) 8. %F : 相当于 %Y-%m-%d
2.设置时间
1. date -s //设置当前时间,只有root权限才能设置,其他只能查看。 2. date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 3. date -s 01:01:01 //设置具体时间,不会对日期做更改 4. date -s “01:01:01 2008-05-23″ //设置全部时间 5. date -s “01:01:01 20080523″ //设置全部时间 6. date -s “2008-05-23 01:01:01″ //设置全部时间 7. date -s “20080523 01:01:01″ //设置全部时间
3.时间戳
时间戳是指从1970年1月1日00:00:00 UTC到当前为止的秒数。
(1)把时间转换为时间戳
date +%s
(2)把时间戳转换为时间
date -d@时间戳