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 $
ls
命令:查看当前目录下的文件与目录。常用参数(可组合使用)为:-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,KB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来touch
命令:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。常用参数为:-a:只更改Access时间;
-c:或–no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:只更该modify时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
–help:在线帮助;
–version:显示版本信息。注:
access 表示最后一次访问(仅仅是访问,没有改动)文件的时间
modify 表示最后一次修改文件的时间
change 表示最后一次对文件属性改变的时间,包括权限,大小,属性等等stat
命令:文件或文件系统的详细信息显示。参数如下:-f 不显示文件本身的信息,显示文件所在文件系统的信息
-L 显示符号链接
-t 简洁模式,只显示摘要信息rm
命令:用于删除一个文件或者目录。参数(可组合使用)如下:-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。top
命令:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,作用类似于Windows系统中的任务管理器。参数如下:-b 批处理
-c 显示整个命令行而不只是显示命令名。
-i 使top不显示任何闲置或者僵死进程。
-s 保密模式
-S 累积模式
-u <用户名> 指定用户名
-p <进程号> 指定进程
-n <次数> 循环显示的次数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行,contextjane@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手册
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
- 文件类型包括:
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
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 解压
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
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
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
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
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分钟后关机,同时送出警告信息给登入用户:
reboot
命令:重新启动正在运行的Linux操作系统。常用参数:-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;
-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-n:重开机之前不检查是否有未结束的程序;
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。jane@ljj ~/Desktop/exercise $ reboot #重启
df
命令:是disk free的缩写,用来显示文件系统中不同磁盘的使用情况du
命令:是disk usage的缩写,显示当前目录或者当前文件的占用的块大小