Linux学习(二)—常遗忘死难记的常用命令
一、系统工作命令
1、echo echo Linuxprobe.Com 指定字符串“Linuxprobe.com”输出到终端屏幕的命令
2、date date 显示当前时间
date -s "20170901 8:30:00" 更改linux系统的当前时间设置为2017年9月1日8点30分
3、reboot 重启系统
4、poweroff 关闭linux系统
5、wget 下载网络文件
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
6、ps 查看系统进程
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
进程状态
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
7、top 用于动态地监视进程活动与系统负载等信息
8、pidof 用于查询某个指定服务进程的PID值 ;例如:pidof sshd 查询ssh服务进程
9、kill 用于终止某个指定PID的服务进程 ;killall 用于终止某个指定名称的服务所对应的全部进程
二、系统状态相关命令
1、ifconfig命令用于获取网卡配置与网络状态等信息
2、uname命令用于查看系统内核与系统版本等信息;uname -a。或者cat /etc/redhat-release
3、free用于显示当前系统中内存的使用量信息;free -h
4、last命令用于查看所有系统的登录记录
5、sosreport命令用于收集系统配置及架构信息并输出诊断文档;主要以便让技术支持人员能够远程解决一些小问题,亦或让他们能提前了解某些复杂问题。
三、文本文件命令
1、more命令用于查看纯文本文件(内容较多的)
2、head命令用于查看纯文本文档的前N行; head -n 20 文件名 查看文件前20行
3、tail命令用于查看纯文本文档的后N行或持续刷新内容;tail -n 20 文件名、tail -f 文件名 查看日志刷新
4、tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]” tr [a-z] [A-Z] 文件中所有英文小写替换为英文大写
5、wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
6、stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”
Access 意思是“访问”
Modify 意思是“更改(内容),“或者“写入”
Change 改变(状态或属性)
7、cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”
cut -d: -f1 /etc/passwd 提取passwd文件中的用户名信息 使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号
四、文件目录管理命令
1、touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改atime与mtime
2、mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录“;mkdir -p a/b/c/d/e,-p参数来递归创建出具有嵌套叠层关系的文件目录。
3、cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r为上述参数)
4、mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”
5、rm命令用于删除文件或目录,格式为“rm [选项] 文件”。f参数来强制删除。另外,想要删除一个目录,需要在rm命令后面加一个-r参数才可以,否则删除不掉。
6、
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。当然如果愿意的话,还可以在复制过程中转换其中的数据。Linux系统中有一个名为/dev/zero的设备文件,每次在课堂上解释它时都充满哲学理论的色彩。因为这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件。dd命令的参数及其作用如表2-13所示。
表2-13 dd命令的参数及其作用
参数 作用
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数
例如我们可以用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了:
[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s
dd命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制作成iso格式的镜像文件,在Windows系统中需要借助于第三方软件才能做到,但在Linux系统中可以直接使用dd命令来压制出光盘镜像文件,将它变成一个可立即使用的iso镜像:
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
考虑到有些读者会纠结bs块大小与count块个数的关系,下面举一个吃货的例子进行解释。假设小明的饭量(即需求)是一个固定的值,用来盛饭的勺子的大小即bs块大小,而用勺子盛饭的次数即count块个数。小明要想吃饱(满足需求),则需要在勺子大小(bs块大小)与用勺子盛饭的次数(count块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由上可见,bs与count都是用来指定容量的大小,只要能满足需求,可随意组合搭配方式。
7、file命令用于查看文件的类型,格式为“file 文件名”
五、打包压缩搜索命令
1、tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
2、grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择——仅列出没有“关键词”的行。
3、find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
--type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录