ls, cd, pwd, mkdir, rm, rmdir, mv, cp, touch, cat, nl, more, less, head, tail
1. ls
1 | ls -l -R /home/blair/ghome |
列出 /opt/soft 文件下面的子目录
1 | ls -F /opt/soft |grep /$ |
目录于名称后加"/", 可执行档于名称后加"*"
1 | ls -AFl |
列出当前目录下的所有文件(包括隐藏文件)的绝对路径, 对目录不做递归
1 | find $PWD -maxdepth 1 | xargs ls -ld |
递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径
1 | find $PWD | xargs ls -ld |
2. cd
cd -
orcd
orcd ~
3. pwd
pwd -P
显示出实际路径,而非使用连接(link)路径
1 | # /usr/local/xsoft/software/scala [22:17:59] |
4. mkdir
1 | mkdir test1 |
一个命令创建项目的目录结构
1 | # ~/ghome/seek/test2 [22:23:06] |
1 | # ~/ghome/seek/test2 [22:23:08] |
5. rm
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
1 | # ~/ghome/seek/test2 [22:29:28] |
自定义回收站功能
1 | myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; } |
for example:
1 | [root@localhost test]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; } |
**Reference: ** 每天一个linux命令(5):rm 命令
6. rmdir
删除空目录
rmdir -p 当子目录被删除后使它也成为空目录的话,则顺便一并删除
1 | [root@localhost scf]# rmdir -p logs |
[root@localhost scf]# rmdir -p logs/product
1 | [root@localhost scf]# tree |
7. mv
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
8. cp
1 | cp -a test3 test4 |
9. touch
设定文件的时间戳
1 | touch -t 201211142234.50 log.log |
更新 log2012.log 的时间和 log.log 时间戳相同
1 | touch -r log.log log2012.log |
10. cat
- 一次显示整个文件:cat filename
- 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
- 将几个文件合并为一个文件:cat file1 file2 > file
1 | ➜ cat -n log.log log2012.log |
tac (反向列示).
tac log.txt
11. nl
nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!
命令参数:
1 | -b :指定行号指定的方式,主要有两种: |
1 | [root@localhost test]# nl log2012.log |
1 | [root@localhost test]# nl -b a log2012.log |
1 | [root@localhost test]# nl -b a -n rz log2014.log |
说明: nl -b a -n rz 命令行号默认为六位,要调整位数可以加上参数 -w 3 调整为3位。
12. more
命令参数:
1 | +n 从笫n行开始显示 |
1 | [root@localhost test]# cat log2012.log |
设定每屏显示行数 more -5 log2012.log.
1 | [root@localhost test]# more -5 log2012.log |
列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来
1 | ls -l | more -5 |
13. less
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
1 | less log2013.log |
输出文件除了最后n行的全部内容
1 | head -n -6 log2014.log |
14. head
1 | [root@localhost test]# head -n 5 log2014.log |
显示文件前n个字节 head -c 20 log2014.log
1 | [root@localhost test]# head -c 20 log2014.log |
输出文件除了最后n行的全部内容
1 | head -n -6 log2014.log |
15. tail
显示文件末尾内容. tail -n 5 log2014.log
1 | [root@localhost test]# tail -n 5 log2014.log |
循环查看文件内容 tail -f test.log
Checking if Disqus is accessible...