一,指令帮助
查看指令详解
man ls
二,系统工作相关
2.1 输出结果到控制台 echo
echo helloworld
2.2
查看系统时间 date
date "+%Y-%m-%d %H:%M:%S"
2.3 重启 reboot
2.4 关机 poweroff
2.5 下载 wget+网址
wget https://www.linuxprobe.com/docs/LinuxProbe.pdf
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
2.6 静态查看进程状态
ps -aux
2.7 动态查看进程状态
top
2.8 查看进程的pid,返回id号
pidof sshd
2.9 关闭进程 kill和 killall(关闭该服务所有进程)
kill 2156
killall 2156
三,系统状态相关
3.1 查看网络配置
使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量
ifconfig
3.2 查看系统信息
在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
uname -a
3.3 查看系统的负载信息
uptime命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。
uptime
3.4 查看内存使用情况
在使用free命令时,可以结合使用-h参数以更人性化的方式输出当前内存的实时使用量信息。
free -h
3.5 查看正在登录本机的用户的名称以及他们正在开启的终端信息
who
3.6 查看所有系统的登录记录
使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
last
3.7 查看历史指令记录
执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。
在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。
历史命令会被保存到用户家目录中的.bash_history文件中。Linux系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容。
history
3.8 收集系统配置及架构信息并输出诊断文档
sosreport
四,目录切换
4.1 显示当前目录
pwd
4.2 切换路径
使用“cd /”命令进入根目录
使用“cd -”命令返回到上一次所处的目录,
使用“cd..”命令进入上级目录,cd . 进入当前目录,没有意义
使用“cd ~”命令切换到当前用户的家目录,
使用“cd ~username”切换到其他用户的家目录。
cd
4.3 显示目录中的文件信息
使用ls命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。
ls -al
五,查看文本文件内容
5.1 查看小文件
cat命令用于查看纯文本文件(内容较少的)
cat -n 显示行号查看
cat 文件名
5.2 查看大文件
more命令用于查看纯文本文件(内容较多的)
more
5.3 查看文件头部
head命令用于查看纯文本文档的前N行
head -n 20 initial-setup-ks.cfg
5.4 查看文件尾部
tail命令用于查看纯文本文档的后N行或持续刷新内容
-n 选择行,-f实时更新文件内容
tail -f /var/log/messages
5.5 替换文件内容
tr命令用于替换文本文件中的字符
使用cat命令读取待处理的文本,然后通过管道符(详见第3章)把这些文本内容传递给tr命令进行替换操作即可。例如,把某个文本内容中的英文全部替换为大写,使用这样不会修改原文件信息.
cat anaconda-ks.cfg | tr [a-z] [A-Z]
5.6 统计文件内容
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
wc -l /etc/passwd
5.7 查看文件的具体存储信息和时间
命令会显示出文件的三种时间状:Access最后访问时间、Modify最后修改内容时间、Change最后修改文件属性时间
stat anaconda-ks.cfg
5.8 按“列”提取文本字符
一般而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是如果按列搜索,不仅要使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号。
cut -d: -f1 /etc/passwd
5.9 比较多个文本文件的差异
在使用diff命令时,不仅可以使用--brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处,差异用!标出
diff -c diff_A.txt diff_B.txt
六,文件和目录管理
6.1 创建空白文件
touch命令用于创建空白文件或设置文件的时间,对touch命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面
touch a.txt
6.2 创建空白的目录
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
在Linux系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
6.3 复制文件或目录
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
cp install.log x.log
6.4 剪切文件
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名
将 /usr/runoob 下的所有文件和目录移到当前目录下,命令行为:
mv /usr/runoob/* .
6.5 删除文件或目录
rm命令后跟上-f参数来强制删除。另外,想要删除一个目录,需要在rm命令后面加一个-r参数才可以
从根目录开始递归删除所有文件
rm -rf /
6.6 部分复制文件
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
例如我们可以用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了:
dd if=/dev/zero of=560_file count=1 bs=560M
6.7 查看文件类型
在Linux系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用file命令来查看文件类型了。
file anaconda-ks.cfg
七, 打包压缩与搜索命令
7.1 打包与压缩
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
在Linux系统中,常见的文件格式比较多,其中主要使用的是.tar或.tar.gz或.tar.bz2格式,
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
打包参数巧记:吃早饭 czf czvf显示压缩过程
tar 参数 压缩包名 要打包的文件
tar czvf learn.tar.gz learn
7.2 匹配关键词
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep 参数 查找关键词 文件名”。返回关键词所在的行.
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择——仅列出没有“关键词”的行。 |
两个最最常用的参数:-n参数用来显示搜索到信息的行号;-v参数用于反选信息(即没有包含关键词的所有信息行)。这两个参数几乎能完成您日后80%的工作需要
7.3 查找文件
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 参数 关键词 操作”。
在Linux系统中,搜索工作一般都是通过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 | 忽略某个目录 |
-exec …… {}; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
find . -name 'Data*'