一)Linux命令基础
1、Shell提示符:普通用户:“$” ;超级管理员用户:“#” 。
2、Linux系统中命令区分大小写。
3、在命令行中,可以使用Tab键自动补齐命令
4、利用向上或向下的光标键,可以翻查曾经执行过的历史命令
5、如果要在一个命令行上输入和执行多条命令,可以使用分号来分隔命令。例如:“cd/;ls” 。
6、要使程序以后台方式执行,只需在要执行的命令后跟上一个“&”符号即可。例如:“find/-name httpd.conf&” 。
7、绝对路径:从根目录一直到目标文件目录的完整目录。
8、相对路径:从当前路径开始的路径。
二)文件目录类命令
1、浏览目录类命令:pwd命令、cd命令、ls命令
pwd命令:获得用户当前所在目录。
cd命令:在不同的目录中进行切换,
在Linux系统中,用“.”代表当前目录;用“..”代表当前目录的父目录;用“~”代表用户的个人主目录。
ls:用来列出文件或目录信息。语法:ls [参数] [目录或文件]
- ls命令的常用参数选项有:(-a,-A,-c,-C,-d,-I-i)
- -a:显示所有文件,包括以“.”开头的隐藏文件。
- -l:以长格形式显示文件的详细信息。
- -c:按文件的修改时间排序。
2、浏览文件类命令:cat命令、more命令、tail命令、
cat命令:滚屏显示文件内容或将多个文件合并为一个文件。
滚屏显示文件的语法为:cat [参数] 文件名
合并文件的语法为:cat file1 file2 > file3或者cat file1 file2>>file3
- cat命令的常用参数选项有:
- -b:对输出内容中的非空行标注行号。
- -n:对输出内容中的所有行标注行号
more命令:使用cat命令时,如果文件太长,用户只能看到文件的最后一部分。这时可以使用more命令,一页一页的分屏显示文件的内容。 语法: more [参数] 文件名
- 执行more命令后,进入了more状态,按【Enter】键可以向下移动一行,按【space】键可以向下移动一页;按【q】键可以退出more命令。
- more命令的常用参数选项有:
- -num:这里的num是一个数字,用来指定分页显示时每页的行数。
- +num:指定从文件的第num行开始显示。
less命令:more命令只能向下翻页,less命令可以向下、向上翻页,甚至可以前后左右地移动。
- 执行less命令后,进入了less状态,按【Enter】键可以向下移动一行,按【space】键可以向下移动一页;按【b】键可以向上移动一页;也可以用光标键向前、后、左、右移动;按【q】键可以退出less命令。
- less命令还支持在一个文本文件中进行快速查找。先按下斜杠键【/】,再输入要查找的单词或字符。less命令会在文本文件中进行快速查找,并把找到的第一个搜素目标高亮度显示。如果希望继续查找,就再次按下斜杠键【/】,再按【Enter】键即可。
head命令用于显示文件的开头部分,默认情况下只显示文件的前10行内容。语法:head [参数] 文件名
- head命令的常用参数选项有:
- -n num:显示指定文件的前num行。
- -c num:显示指定文件的前num个字符。
tail命令:用于显示文件的末尾部分,默认情况下只显示文件的末尾10行内容。 语法:tail [参数] 文件名
- tail命令的常用参数选项有:
- -n num:显示指定文件的末尾num行。
- -c num:显示指定文件的末尾num个字符。
- +num:从第num行开始显示指定文件的内容。
3、目录操作类命令:mkdir命令、rmdir命令
mkdir命令:创建一个目录。语法:mkdir [参数] 目录名
- 常用参数 –p:如果父目录不存在,则同时创建该目录及该目录的父目录。
rmdir命令:删除空目录。rmdir [参数] 目录名
- 常用参数-p:在删除目录时,一起删除父目录,但父母录中必须没有其他目录及文件。
4、文件操作类命令:cp命令、mv命令、rm命令、ln命令、diff命令、tar命令、find命令、locate命令、whereis命令、grep命令
cp命令:用于文件或目录的复制。语法:cp [参数] 源文件 目标文件
- cp命令的常用参数选项有:
- -f:如果目标文件或目录存在,先删除它们再进行复制(即覆盖),并且不提示用户。
- -i:如果目标文件或目录存在,提示是否覆盖已有文件。
- -R:递归复制目录,即包含目录下的各级子目录。
mv命令:用于文件或目录的移动或改名。 语法:mv [参数] 源文件或目录 目标文件或目录
- mv命令的常用参数选项有:
- -i:如果目标文件或目录存在时,提示是否覆盖目标文件或目录
- -f:无论目标文件或目录是否存在,直接覆盖目标文件或目录,不提示。
rm命令:用于文件或目录的删除。语法:rm [参数] 文件名或目录名
- rm命令的常用参数选项有:
- -i:删除文件或目录时提示用户。
- -f:删除文件或目录时不提示用户。
- -R:递归删除目录,即包含目录下的文件和各级子目录。
ln命令:用于连接文件或目录。当我们需要在不同的目录,用到相同的文件时,只要在其它需要用到该文件的目录下用ln命令链接(link)到该文件即可,不必重复的占用磁盘空间。语法:ln [参数] 源文件或目录 链接文件或目录
- ln命令的常用参数选项有:
- -b或--backup 删除,覆盖目标文件之前的备份。
- -d或-F或--directory 建立目录的硬连接。
- -f或--force 强行建立文件或目录的连接,不论文件或目录是否存在。
- -i或--interactive 覆盖既有文件之前先询问用户。
- -n或--no-dereference 把符号连接的目的目录视为一般文件。
- -s或--symbolic 对源文件建立符号连接,而非硬连接。
- -v或--verbose 显示指令执行过程。
- 使用ln命令时有三点要注意:
- 第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化。
- 第二,ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s,它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
- 第三,软链接是可以跨分区的,但是硬链接只能在同一分区内。
diff命令:用于比较两个文件内容的不同。常用于生成补丁。语法:diff [参数] 源文件 目标文件
- diff命令的常用参数选项有:
- -a:将所有的文件当作文本文件处理。
- -b:忽略空格造成的不同。
- -B:忽略空行造成的不同。
- -q:只报告什么地方不同,不报告具体的不同信息。
- -i:忽略大小写的变化。
tar命令:用于文件打包的命令,tar命令可以把一系列的文件归档到一个大文件中,也可以把档案文件解开以恢复数据。语法:tar [参数] 档案文件 文件列表
- tar命令的常用参数选项有:
- -c:生成档案文件。
- -v:列出归档解档的详细过程。
- -f:指定档案文件名称。
- -r:将文件追加到档案文件末尾。
- -z:以gzip格式压缩或解压缩文件。
- -j:以bzip2格式压缩或解压缩文件。
- -d:比较档案与当前目录中的文件。
- -x:解开档案文件。
find命令:最常见和最强大的查找命令,你可以用它找到任何你想找的文件。语法:find <目录> <参数>
- find命令的常用参数选项有:
- -name <表达式> 根据文件名查找文件
- -user <用户名> 按归属用户查找文件
- -type <文件类型> 根据文件类型查找文件。(b块设备、 c字符设备、d目录、p管道文件、f普通文件、l链接、s端口文件)
- -size <大小> 根据文件大小查找,单位b c w k M G
- 加上|xargs tar cvzf <文件名> 可以将查询的结果压缩
locate命令:“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。语法:locate <参数> <表达式>
- locate命令的常用参数选项有:
whereis命令用来寻找命令的可执行文件所在的位置。语法为:whereis [参数] 命令名称
- whereis命令的常用参数选项有:
- -b:只查找二进制文件。
- -m:只查找命令的联机帮助手册部分。
- -s:只查找源代码文件。
grep命令:用于查找文件中包含有指定字符串的行。语法:grep [参数] 要查找的字符串 文件名
- grep命令的常用参数选项有:
- -v:列出不匹配的行。
- -c:对匹配的行计数。
- -l:只显示包含匹配模式的文件名。
- -h:抑制包含匹配模式的文件名的显示。
- -n:每个匹配行只按照相对的行号显示。
- -i:对匹配模式不区分大小写。
!管道和重定向
5、软件包管理命令(略)
6、其他命令(略)
三)系统信息类命令:
dmesg命令、df命令、du命令、free命令、date命令、cal命令、clock命令
1)dmesg命令:用实例名和物理名称来标识连到系统上的设备,显示系统诊断信息、操作系统版本号、物理内存大小以及其他信息。
- 系统启动时,屏幕上会显示系统CPU、内存、网卡等硬件信息。但通常显示的比较快,如果用户没有来得及看清,可以在系统启动后用dmesg命令查看。
2)df命令:主要用来查看文件系统的各个分区的占用情况。
- 该命令列出了系统上所有已挂载的分区大小、已占用的空间、可用空间以及占有率。
- 空间大小的单位是K。
3)du命令:主要用来查看某个目录中的各级子目录所使用的硬盘空间数。
- 基本用法是在命令后跟目录名,如果不跟目录名,则缺省为当前目录。
4)free命令:主要用来查看系统内存,虚拟内存的大小及占用情况。
5)date命令可以用来查看系统当前的日期和时间
- date命令还可以用来设置当前日期和时间 (只有root用户才可以改变系统的日期和时间 )例如:sudo date -d 02/28/2013
6)cal命令:用于显示指定月份或年份的日历,可以带两个参数,其中年、月份用数字表示;只有一个参数时表示年份,年份的范围为1~9999;不带任何参数的cal命令显示当前月份的日历。
四)进程管理类命令:
ps命令、kill命令、killall命令、nice命令、renice命令、top命令、bg、jobs、fg命令
ps命令:主要用于查看系统的进程。语法:ps [参数]
- ps命令的常用参数选项有:
- -a:显示当前控制终端的进程(包含其他用户的)。
- -u:显示进程的用户名和启动时间等信息。
- -w:宽行输出,不截取输出中的命令行。
- -l:按长格形式显示输出。
- -x:显示没有控制终端的进程。
- -e:显示所有的进程。
- -t n:显示第n个终端的进程。
kill命令:
- 前台进程在运行时,可以用【ctrl+c】键来终止它
- 后台进程可以使用kill命令向进程发送强制终止信号,以达到终止进程的目的
- 用kill按进程ID发送强制关闭信号示例:kill –s SIGKILL 或 kill –9
top命令:
- top命令可以实时监控进程的状况
- top屏幕自动每5秒钟刷新一次,也可以用“top –d 20”,使得top屏幕每20秒钟刷新一次。
bg命令:用于把工作放到后台运行
jobs命令:用于查看在后台运行的工作
fg命令:用于把从后台运行的工作调到前台