Linux常用命令——每天学习系列

  1. cd命令:用于切换当前目录,参数为要切换到的目录的路径,可以是绝对路径,也可以是相对路径

    jane@ljj ~ $ cd / #切换到根目录
    jane@ljj / $ cd /home/jane/Desktop/    #切换到/home/jane/Desktop/目录下
    jane@ljj ~/Desktop $ 
    jane@ljj ~/Desktop $ cd ./exercise/       #切换到当前目录下的exercise/目录下,‘.’表示当前目录
    jane@ljj ~/Desktop/exercise $ 
    
  2. ls命令:查看当前目录下的文件与目录。常用参数(可组合使用)为:

    -l :列出长数据串,包含文件的属性与权限数据等
    -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
    -d :仅列出目录本身,而不是列出目录的文件数据
    -h :将文件容量以较易读的方式(GB,KB等)列出来
    -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

  3. touch命令:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。常用参数为:

    -a:只更改Access时间;
    -c:或–no-create 不建立任何文件;
    -d:<时间日期> 使用指定的日期时间,而非现在的时间;
    -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
    -m:只更该modify时间;
    -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
    -t:<日期时间> 使用指定的日期时间,而非现在的时间;
    –help:在线帮助;
    –version:显示版本信息。

    注:
    access 表示最后一次访问(仅仅是访问,没有改动)文件的时间
    modify 表示最后一次修改文件的时间
    change 表示最后一次对文件属性改变的时间,包括权限,大小,属性等等

  4. stat命令:文件或文件系统的详细信息显示。参数如下:

    -f  不显示文件本身的信息,显示文件所在文件系统的信息
    -L  显示符号链接
    -t  简洁模式,只显示摘要信息

  5. rm命令:用于删除一个文件或者目录。参数(可组合使用)如下:

    -i 删除前逐一询问确认。
    -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    -r 将目录及以下之档案亦逐一删除。

  6. top命令:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,作用类似于Windows系统中的任务管理器。参数如下:

    -b 批处理
    -c 显示整个命令行而不只是显示命令名。
    -i 使top不显示任何闲置或者僵死进程。
    -s 保密模式
    -S 累积模式
    -u <用户名> 指定用户名
    -p <进程号> 指定进程
    -n <次数> 循环显示的次数

  7. grep命令:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。常用参数如下:

    -E :开启扩展(Extend)的正则表达式。
    -r:递归搜索。搜索一个目录。
    -i :忽略大小写(ignore case)。
    -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
    -n :显示行号
    -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
    -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
    -o :只显示被模式匹配到的字符串。
    –color :将匹配到的内容以颜色高亮显示。
    -A n:显示匹配到的字符串所在的行及其后n行,after
    -B n:显示匹配到的字符串所在的行及其前n行,before
    -C n:显示匹配到的字符串所在的行及其前后各n行,context

    jane@ljj ~/proj/test $ grep -n "Modal1" contest_manage.js 
    2:    InitModal1();
    4:        Modal1.show();
    5:        Modal1.setHeigth("250px");
    6:        Modal1.setWidth("500px");
    74:    Modal1.show();
    75:    Modal1.setHeigth("300px");
    76:    Modal1.setWidth("500px");
    jane@ljj ~/proj/test $ grep -rn "Modal1"  #递归查找当前目录下的Modal1关键字
    jane@ljj ~/proj/test $ man grep    #查看grep手册
    
  8. find命令:根据条件查找文件。查找方式有很多种,比如按文件类型(-type),文件名(-name),文件属主(-user),文件所属组)(-group),文件权限(-perm),文件长度(-size),文件修改时间(-mtime)等查找。

    • 文件类型包括:
      • d 目录文件。
      • l 符号链接(指向另一个文件,类似于瘟下的快捷方式) 。
      • s 套接字文件。
      • b 块设备文件,二进制文件。
      • c 字符设备文件。
      • p 命名管道文件。
      • f 普通文件,即,不属于以上几种类型的文件。
    • 文件权限包括:
      • r 读文件
      • w 写文件
      • x 执行文件操作
    jane@ljj ~/proj $ sudo find / -name notice.js #从根目录开始搜索notice.js文件
    [sudo] password for jane: 
    /media/jane/js/notice.js
    /media/jane/E40640A006407618/Users/js/notice.js
    /home/jane/proj/js/notice.js
    jane@ljj ~/proj $ find -name notice.js             #从当前目录搜索notice.js文件
    ./js/notice.js
    jane@ljj ~/proj $ find -name notice.*             #从当前目录搜索文件名为notice的所有类型文件
    ./user/notice.pyc
    ./user/notice.py
    ./js/notice.js
    ./css/notice.css
    ./user/notice.html
    jane@ljj ~/proj $ find -name *.jpg               #从当前目录搜索文件后缀为.jpg的文件
    ./markdown/styles/pojoaque.jpg
    ./images/loginbg.jpg
    ./images/1.jpg
    ./images/819.jpg
    ./images/thumb1.jpg
    jane@ljj ~/proj $ find -name *tice.j*            #从当前目录搜索文件名中带有tice.j的文件
    ./js/notice.js
    
  9. cat命令:用于连接文件并打印到标准输出设备上。常用参数如下:

    -n 或 –number:由 1 开始对所有输出的行数编号。
    -b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。
    -s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    -v 或 –show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    -E 或 –show-ends : 在每行结束处显示 $。
    -T 或 –show-tabs: 将 TAB 字符显示为 ^I。
    -e : 等价于 -vE。
    -A, –show-all:等价于 -vET。
    -e:等价于”-vE”选项;
    -t:等价于”-vT”选项;

    jane@ljj ~/Desktop/test_folder $ cat test1.txt #显示test1.txt的内容
    aa -- this is file1
    jane@ljj ~/Desktop/test_folder $ cat test2.txt 
    bb -- this is file2
    jane@ljj ~/Desktop/test_folder $ cat test3.txt 
    cc -- this is file3
    jane@ljj ~/Desktop/test_folder $ cat > test4.txt  #新建test4.txt
    dd -- this is file4
    ^C
    jane@ljj ~/Desktop/test_folder $ cat test4.txt 
    dd -- this is file4
    jane@ljj ~/Desktop/test_folder $ cat test1.txt test2.txt > test5.txt  #将test1.txt和test2.txt内容合并后放入文件test5.txt中
    jane@ljj ~/Desktop/test_folder $ cat test5.txt 
    aa -- this is file1
    bb -- this is file2
    jane@ljj ~/Desktop/test_folder $ cat test1.txt | grep a                #利用cat和grep命令组合进行查找
    aa -- this is file1
  10. tar命令:用于对文件的压缩或者解压。常用参数有:

    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件

    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出

    下面的参数-f是必须的

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

    jane@ljj ~/Desktop/test_folder $ tar -cf all_txt.tar *.txt   # 将所有.txt的文件打成一个名为all_txt.tar的包。-c是表示产生新的包,-f指定包的文件名。
    jane@ljj ~/Desktop/test_folder $ tar -rf all_txt.tar *.md  # 将所有.md的文件增加到all_txt.ta的包里面去。-r是表示增加文件的意思。
    jane@ljj ~/Desktop/test_folder $ tar -uf all_txt.tar file1.txt  # 更新原来tar包all_txt.tar中file1.txt文件,-u是表示更新文件的意思。
    jane@ljj ~/Desktop/test_folder $ tar -tf all_txt.tar   # 列出all_txt.tar包中所有文件,-t是列出文件的意思
    jane@ljj ~/Desktop/test_folder $ tar -xf all_txt.tar      # 解出all_txt.tar包中所有文件,-t是解开的意思
    jane@ljj ~/Desktop/test_folder $ tar -xzvf all_txt.tar.gz     # 解出all_txt.tar.gz包中所有文件,-z是有gzip属性的,-v是显示所有过程

    注:

    • *.tar 用 tar –xvf 解压
    • *.gz 用 gzip -d或者gunzip 解压
    • .tar.gz和.tgz 用 tar –xzf 解压
    • *.bz2 用 bzip2 -d或者用bunzip2 解压
    • *.tar.bz2用tar –xjf 解压
    • *.Z 用 uncompress 解压
    • *.tar.Z 用tar –xZf 解压
    • *.rar 用 unrar e解压
    • *.zip 用 unzip 解压
  11. mv命令:用来为文件或目录改名、或将文件或目录移入其它位置。常用参数:

    -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
    -f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

    jane@ljj ~/Desktop/test_folder $ mkdir folder
    jane@ljj ~/Desktop/test_folder $ ls
    all_txt.tar  file1.txt  file2.txt  file3.txt  file4.md  file5.md  file6.md  folder
    jane@ljj ~/Desktop/test_folder $ mv file1.txt folder/          #将文件file1.txt放入到folder文件夹中
    jane@ljj ~/Desktop/test_folder $ ls
    all_txt.tar  file2.txt  file3.txt  file4.md  file5.md  file6.md  folder
    jane@ljj ~/Desktop/test_folder $ cd  folder/
    jane@ljj ~/Desktop/test_folder/folder $ ls
    file1.txt
    jane@ljj ~/Desktop/test_folder/folder $ mv file1.txt NewFile1.txt    #将文件file1.txt改名为NewFile1.txt中
    jane@ljj ~/Desktop/test_folder/folder $ ls
    NewFile1.txt
    jane@ljj ~/Desktop/test_folder/folder $ cd ..
    jane@ljj ~/Desktop/test_folder $ ls
    all_txt.tar  file2.txt  file3.txt  file4.md  file5.md  file6.md  folder
    jane@ljj ~/Desktop/test_folder $ mkdir NewFolder
    jane@ljj ~/Desktop/test_folder $ ls
    all_txt.tar  file2.txt  file3.txt  file4.md  file5.md  file6.md  folder  NewFolder
    jane@ljj ~/Desktop/test_folder $ mv folder/ NewFolder/    #将folder目录放入NewFolder文件夹中
    jane@ljj ~/Desktop/test_folder $ ls
    all_txt.tar  file2.txt  file3.txt  file4.md  file5.md  file6.md  NewFolder
    jane@ljj ~/Desktop/test_folder $ cd NewFolder/
    jane@ljj ~/Desktop/test_folder/NewFolder $ ls
    folder
    
  12. mkdir命令:创建目录。参数如下:

    -m –mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
    -p –parents 递归创建目录
    -v, –verbose 每次创建新目录都显示信息

    jane@ljj ~/Desktop/test_folder $ mkdir folder        #创建folder文件夹
    jane@ljj ~/Desktop/test_folder $ ls
    folder  NewFolder
    jane@ljj ~/Desktop/test_folder $ mkdir -p folder1/folder2  #递归创建folder1/folder2文件夹
    jane@ljj ~/Desktop/test_folder $ mkdir -v folder3  #显示创建文件夹的信息
    mkdir: created directory 'folder3'
    jane@ljj ~/Desktop/test_folder $ tree
    .
    ├── folder
    ├── folder1
    │   └── folder2
    ├── folder3
    └── NewFolder
        └── folder
            └── NewFile1.txt
    5 directories, 7 files
  13. rmdir命令:用来删除空目录。常用参数如下:

    -p, 递归删除,删除目录之前是否删除父目录,如果父目录为空的话就删除
    -v, 删除目录时,显示删除信息

    jane@ljj ~/Desktop/test_folder $ tree
    .
    ├── all_txt.tar
    ├── file2.txt
    ├── file3.txt
    ├── file4.md
    ├── file5.md
    ├── file6.md
    ├── folder
    ├── folder1
    │   └── folder2
    ├── folder3
    └── NewFolder
        └── folder
            └── NewFile1.txt
    
    6 directories, 7 files
    jane@ljj ~/Desktop/test_folder $ rmdir folder #删除folder文件夹
    jane@ljj ~/Desktop/test_folder $ rmdir folder1/   #删除folder1文件夹,因为该文件加非空,所以无法删除,但可以使用rm命令删除
    rmdir: failed to remove 'folder1/': Directory not empty
  14. sleep命令:用来将目前动作延迟一段时间。常用参数:

    –help : 显示辅助讯息
    –version : 显示版本编号
    number : 时间长度,后面可接 s、m、h 或 d
    其中 s 为秒,m 为 分钟,h 为小时,d 为日数

    jane@ljj ~ $ date;sleep 1m;date #打印
    Fri Mar 23 09:17:16 CST 2018
    Fri Mar 23 09:18:16 CST 2018
    
  15. shutdown命令:可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。常用参数:

    -c:当执行“shutdown -h 11:50”指令时,只要按+键就可以中断关机的指令;
    -f:重新启动时不执行fsck;
    -F:重新启动时执行fsck;
    -h:将系统关机;
    -k:只是送出信息给所有用户,但不会实际关机;
    -n:不调用init程序进行关机,而由shutdown自己进行;
    -r:shutdown之后重新启动;
    -t<秒数>:送出警告信息和删除信息之间要延迟多少秒。

    jane@ljj ~/Desktop/exercise $ shutdown -h now #立即关机
    jane@ljj ~/Desktop/exercise $ shutdown +5 "System will shutdown after 5 minutes" #指定5分钟后关机,同时送出警告信息给登入用户:
  16. reboot命令:重新启动正在运行的Linux操作系统。常用参数:

    -d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
    -f:强制重新开机,不调用shutdown指令的功能;
    -i:在重开机之前,先关闭所有网络界面;
    -n:重开机之前不检查是否有未结束的程序;
    -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

    jane@ljj ~/Desktop/exercise $ reboot #重启
  17. df命令:是disk free的缩写,用来显示文件系统中不同磁盘的使用情况

  18. du命令:是disk usage的缩写,显示当前目录或者当前文件的占用的块大小
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值