首页 > 代码库 > 从入门到小白的shell命令总结

从入门到小白的shell命令总结

常见的shell命令总结

  本文总结部分常见的shell命令,希望像我这样的linux小白在熟悉这些命令后,能够基本应付小白阶段遇到的问题

1.cd

  cd 后面跟上目录名,可以进入这个目录,目录写法有绝对路径与相对路径

  绝对路径:以根目录开始,明确的指出要到达的目录的全名,例如  

[zhaozhao@bogon mycode]$ cd /home/zhaozhao/mycode/C_plus_program/
[zhaozhao@bogon C_plus_program]$ 

  绝对路径显得相对繁琐

  相对路径:相对路径允许用户基于当前目录来寻找其他目录

  (.)表示当前目录

  (..)表示当前目录的父目录

[zhaozhao@bogon C_plus_program]$ cd ..
[zhaozhao@bogon mycode]$ cd ./C_plus_program/
[zhaozhao@bogon C_plus_program]$ 

  如果要进入根目录,cd ~可以直接带你到跟目录

[zhaozhao@bogon C_plus_program]$ cd ~
[zhaozhao@bogon ~]$ 

 2.ls

  ls 最基本的格式会显示当前目录下的文件和目录  

[zhaozhao@bogon ~]$ ls
blog_plan.c  mycode  Qt5.6.2  Qt_programme  QT安装包  公共  模板  视频  图片  文档  下载  音乐  桌面

  一般的linux版本都会以颜色来区分文件类型,例如我的linux上普通文件为绿色,目录文件为蓝色。如果你的版本不支持彩色

可以用 —F参数来区分文件与目录

[zhaozhao@bogon ~]$ ls -F
blog_plan.c  Qt5.6.2/       QT安装包/  模板/  图片/  下载/  桌面/
mycode/      Qt_programme/  公共/      视频/  文档/  音乐/

   可以看到,所以的目录文件后面都带着/.

   ls命令显示当前目录下的文件,但linux长使用一些隐藏文件来保存配置信息。直接使用ls无法显示隐藏文件

这时可以添加 -a选项

[zhaozhao@bogon ~]$ ls -a 
.              .bash_profile  .config    .esd_auth      mycode        QT安装包      .vimrc  图片  桌面
..             .bashrc        .designer  .ICEauthority  .pki          .test.sh.swp  公共    文档
.bash_history  blog_plan.c    .emacs     .local         Qt5.6.2       .vim          模板    下载
.bash_logout   .cache         .emacs.d   .mozilla       Qt_programme  .viminfo      视频    音乐

  使用-R参数可以查看当前目录包含的目录中的文件

[zhaozhao@bogon mycode]$ ls -R
.:
C_plus_program  C_program  _linux  struct  system_fun

./C_plus_program:

./C_program:

./_linux:

./struct:

./system_fun:
close  close.c  myfile  myfile2  open  open.c  read  read.c  write  write.c

  ls 只是单纯的列出了文件与目录,如果我们要获取关于目录所包含的文件更多的信息,可以添加 -l 选项

或者直接使用 ll

[zhaozhao@bogon mycode]$ ls -l
总用量 4
drwxrwxr-x. 2 zhaozhao zhaozhao    6 3月  28 12:54 C_plus_program
drwxrwxr-x. 2 zhaozhao zhaozhao    6 3月  29 18:25 C_program
drwxrwxr-x. 2 zhaozhao zhaozhao    6 3月  28 12:54 _linux
drwxrwxr-x. 2 zhaozhao zhaozhao    6 3月  28 12:54 struct
drwxrwxr-x. 2 zhaozhao zhaozhao 4096 3月  29 18:27 system_fun

使用这种方式,输出了文件的很多信息

  ls 默认显示当前目录包含的文件,也可以在ls 后面跟上目录名(绝对路径,相对路径都可以),那么终端会

显示该目录包含的文件。

[zhaozhao@bogon ~]$ ls
blog_plan.c  mycode  Qt5.6.2  Qt_programme  QT安装包  公共  模板  视频  图片  文档  下载  音乐  桌面
[zhaozhao@bogon ~]$ ls mycode/
C_plus_program  C_program  _linux  struct  system_fun
[zhaozhao@bogon ~]$ ls ./mycode/
C_plus_program  C_program  _linux  struct  system_fun
[zhaozhao@bogon ~]$ ls /home/zhaozhao/mycode/
C_plus_program  C_program  _linux  struct  system_fun

  ls能够识别标准通配符,例如?可以匹配任意单个字符,*可以匹配零个或者多个字符

[zhaozhao@bogon mycode]$ ls system_fun/
close  close.c  myfile  myfile2  open  open.c  read  read.c  write  write.c
[zhaozhao@bogon mycode]$ ls system_?un
close  close.c  myfile  myfile2  open  open.c  read  read.c  write  write.c
[zhaozhao@bogon mycode]$ ls system_fun/
close  close.c  myfile  myfile2  open  open.c  read  read.c  write  write.c
[zhaozhao@bogon mycode]$ ls syst*
close  close.c  myfile  myfile2  open  open.c  read  read.c  write  write.c

3.touch

  touch 命令常用于创建文件,在touch 后面跟文件名,就可以在当前目录下创建文件(当然,你也可以指定要创建的目录)  

[zhaozhao@bogon mycode]$ ls
C_plus_program  C_program  _linux  struct  system_fun
[zhaozhao@bogon mycode]$ touch new_file
[zhaozhao@bogon mycode]$ ls
C_plus_program  C_program  _linux  new_file  struct  system_fun
[zhaozhao@bogon mycode]$ ll new_file 
-rw-rw-r--. 1 zhaozhao zhaozhao 0 3月  29 19:54 new_file

  当touch后面的文件不存在时,会创建这个文件,如果文件以及存在,touch命令会改变文件的访问时间和修改时间

[zhaozhao@bogon mycode]$ ll new_file 
-rw-rw-r--. 1 zhaozhao zhaozhao 0 3月  29 19:54 new_file
[zhaozhao@bogon mycode]$ touch new_file 
[zhaozhao@bogon mycode]$ ll new_file 
-rw-rw-r--. 1 zhaozhao zhaozhao 0 3月  29 19:57 new_file

  文件被touch后,时间的值是实时更新的,你也可以指定一个时间给它,使用-t选项

[zhaozhao@bogon mycode]$ touch -t 201703292100 new_file 
[zhaozhao@bogon mycode]$ ll new_file 
-rw-rw-r--. 1 zhaozhao zhaozhao 0 3月  29 2017 new_file

  文件时间被我们修改了

 

  

从入门到小白的shell命令总结