一些常用的linux命令

1. pwd--显示当前目录
2. ls--显示文件或目录

  -l           列出文件详细信息l(list)

  -a          列出当前目录下所有文件及目录,包括隐藏的a(all)

3. cd--切换目录
4. mkdir--创建目录

  -p   创建目录,若无父目录,则创建p(parent) 

    例:如果要创建目录A并创建目录A的子目录B,没有用-p的情况下是mkdir 2次如果用-p 可以直接创建2个目录 mkdir -p 目录A/子目录B就可以。

5. touch--创建空文件
6. echo--创建带有内容的文件或者向文件中写入内容

  使用>指令覆盖文件原内容并重新输入内容,若文件不存在则创建文件。例:echo "test" > test.txt

  使用>>指令向文件追加内容,原内容将保存。例:echo "test" >> test.txt

7. cat--查看文件内容

  -n   由 1 开始对所有输出的行数编号。

  $ cat filename    查看文件内容

  $ cat > filename    可以创建一个文件

  $ cat file1 file2 > filename   将几个文件合并为一个文件

8. cp--复制文件或目录

  cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。

  若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

  -u 或 --update      使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件

  -v 或 --verbose     显示执行过程

  -f 或 --force         强行复制文件或目录, 不论目的文件或目录是否已经存在

  例:cp -u -v file1 file2   复制文件,只有源文件较目的文件的修改时间新时,才复制文件

9. mv--移动或重命名

  mv aaa bbb  将文件 aaa 更名为 bbb

  mv info/ logs  将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs

  mv /usr/student/* .  将/usr/student下的所有文件和目录移到当前目录下

10. rm--删除文件

  -r  递归删除,可删除子目录及文件

  -f  强制删除

  -i  删除已有文件或目录之前先询问用户

  例:rm -rf *   删除当前目录下的所有文件
11. rmdir--删除空目录

  -p选项:级联删除  

  例:目录1122/1  rmdir -p -v 1122/1  结果:先删除1122/1,再删除1122。

  例:目录1122/1  1122/2  rmdir -p -v 1122/1  结果:删除1122/1,再删除1122时错误,因为此时1122不是空文件夹。

12. find--在文件系统中搜索某文件

  find   .    -name   "*.txt"   -print  查询当前目录下已.txt结尾的文件并打印出来

13. grep--在文本文件中查找某个字符串

  $ grep ‘test’ d*  显示所有以d开头的文件中包含 test的行。

  $ grep ‘test’ aa bb cc  显示在aa,bb,cc文件中匹配test的行。

  $ grep ‘[a-z]{5}’ aa  显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

14. wc--统计文本中行数、字数、字符数

  -c 统计字节数

  -l 统计行数

  -m 统计字符数。这个标志不能与 -c 标志一起使用

  -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

15. ln--创建链接文件

  1.ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化; 

  2.ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,

  无论是软链接还是硬链接,文件都保持同步变化。软链接是可以跨分区的,但是硬链接只能在同一分区内。

  3.目录不能建立硬链接,但可以建立软链接

  例:ln -s ./script/test.sh test  这样就是在当前目录创建一个指向 ./script/test.sh 脚本的符号链接。

16. more、less--分页显示文本文件内容

  more会以一页一页的显示方便使用者逐页阅读,默认一页填充满整个窗口,而且还有搜寻字串的功能 。

  而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,只能回退一次,回车往下翻一行,q退出。

  more命令从前向后读取文件,因此在启动时就加载整个文件。

  +n      从笫n行开始显示

  -n       定义屏幕大小为n行

  +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  

  -c       从顶部清屏,然后显示

  例:more +3 test.log  从第三行开始显示文件内容

  例:more -4 test.log  将日志内容设置为每屏显示4行

  例:more +/insert test.log  从文件中查找第一个出现"insert"字符串的行,并从该处前两行开始显示输出

  

  在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!

  less 并未在一开始就读入整个档案,所以当浏览文件很大时,使用less更好。

  并且less默认从顶部开始显示,不需要清屏,内容填充整个屏幕。使用空格同样可以翻页,b回退一页,回车往下翻一行,q退出。more的-c,-n对less无效

  例:less +/insert test.log  从文件中查找出出现"insert"字符串的行,并高亮显示

17. head、tail--显示文件头、尾内容

  例:head -100 test.log  指定文件的头100行显示到标准输出。

  例:tail -100 test.log  指定文件的尾100行显示到标准输出。

  例:tail -100f test.log  指定文件的尾100行显示到标准输出。并即时输出文件变化后追加的数据。  

原文地址:https://www.cnblogs.com/dyppp/p/7344683.html