2_ 必须掌握的Linux命令(RHEL7) —学习笔记
用于在终端输出字符串或变量提取后的值,echo [字符串 | $变量]
1_ echo Linuxprobe.com
echo $SHELL
用于显示及设置系统的时间或日期,date [选项] [+指定的格式]
2_ date
date "+%Y-%m-%d %H:%M:%S"
date -s "20170901 8:30:00"
date "+%j"
用于重启系统
3_ reboot
用于关闭系统
4_ poweroff
用于在终端中下载网络文件,wget [参数] 下载地址
5_ wget http://www.baidu.com
wget -r -p http://www.baidu.com
用于查看系统中的进程状态,格式为 “ps [参数]”
6_ ps aux R-S-T D-Z
用于动态地监视进程活动与系统负载等信息,
7_ top
用于查询某个指定服务进程的 PID 值,格式为“pidof [参数] [服务名称]”
8_ pidof sshd
用于终止某个指定 PID 的服务进程,格式为“kill [参数] [进程 PID]”
9_ kill 2156
用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称] ”
10 killall httpd
用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”
1_ ifconfig
用于查看系统内核与系统版本等信息,格式为“uname [-a]”
2_ uname -a
用于查看系统的负载信息
3_ uptime
用于显示当前系统中内存的使用量信息
4_ free -h
用于查看当前登入主机的用户终端信息
5_ who
用于查看所有系统的登录记录
6_ last
用于显示历史执行过的命令
7_ history
history -c
!15
用于收集系统配置及架构信息并输出诊断文档
8_ sosreport
用于显示用户当前所处的工作目录,格式为“pwd [选项]”
1_ pwd
用于切换工作路径,格式为“cd [目录名称]”
2_ cd /etc
cd /bin
cd - #返回到上一次所处的目录
cd .. #进入上级目录
cd ~ #切换到当前用户的家目录
cd ~username
用于显示目录中的文件信息,格式为“ls [选项] [文件] ”
3_ ls -a # 看到全部文件(包括隐藏文件)
ls -l # 查看文件的属性、大小等详细信息
ls -al # 查看当前目录中的所有文件并输出这些文件的属性
ls -ld /etc # 查看 /etc 目录的权限与属性信息
用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”
1_ cat -n initial-setup-ks.cfg
用于查看纯文本文件(内容较多的),格式为“more [选项]文件”
2_ more initial-setup-ks.cfg
用于查看纯文本文档的前 N 行,格式为“head [选项] [文件]”
3_ head -n 20 initial-setup-ks.cfg
用于查看纯文本文档的后 N 行或持续刷新内容,格式为“tail [选项] [文件]”
4_ tail -n 20
tail -f /var/log/messgaes
用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”
5_ cat anaconda-ks.cfg | tr [a-z] [A-Z]
用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”
6_ wc /etc/passwd
wc -l /etc/passwd
wc -w /etc/passwd
wc -C /etc/passwd
用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”
7_ stat anaconda-ks.cfg
用于按“列”提取文本字符,格式为“cut [参数] 文本”
8_ cut -d: -f1 /etc/passwd # 使用-f 参数来设置需要看的列数
# 使用-d 参数来设置间隔符号
用于比较多个文本文件的差异,格式为“diff [参数] 文件”
9_ diff --brief diff_A diff_B.txt # 显示比较后的结果,判断文件是否相同
diff -c diff_A.txt diff_B.txt # 来描述文件内容具体的不同
用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”
1_ touch linuxprobe
touch -d "2017-05-04 15:44" anaconda-ks.cfg
###用于创建空白的目录,格式为“mkdir [选项] 目录”
2_ mkdir linuxprobe
mkdir -p a/b/c/d/e
用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”
3_ cp -a install.log x.log
用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”
4_ mv x.log linux.log
mv python1.txt /root/Desktop
用于删除文件或目录,格式为“rm [选项] 文件”
5_ rm install.log
rm -f linux.log
rm -r /dev/sda
用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”
6_ dd if=/dev/zero of=560_file count=1 bs=560M
dd if=/dev/cdrom of=RHEL-server-7.0.iso
用于查看文件的类型,格式为“file 文件名”
7_ file anaconda-ks.cfg
file /dev/sda
用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”
用 tar 命令把/etc 目录通过 gzip 格式进行打包压缩,并把文件命名为 etc.tar.gz
1_ tar -czvf etc.tar.gz /etc
将打包后的压缩包文件指定解压到/root/etc 目录中
mkdir /root/etc
tar -xzvf etc.tar.gz -C /root/etc
用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”
2_ grep /sbin/nologin /etc/passwd # 查找出当前系统中不允许登录系统的所有用户信息
# /etc/passwd 文件是保存着所有的用户信息
# /sbin/nologin 用户的登录终端被设置成/sbin/nologin,则不再允许登录系统
grep -n a python.txt # -n 参数用来显示搜索到信息的行号
# -v 参数用于反选信息(即没有包含关键词的所有信息行)
用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”
3_ find /etc -name "host*" -print # 该目录中所有以 host 开头的文件列表
find / -perm -4000 -print # 搜索权限中包括 SUID 权限的所有文件
find / -user root -print
find / -group user -print
find / -mtime +5 -print
find / -nouser -print
find / -nogroup -print
find / -newer f1 !f2
find / --type b/d/c/p/l/f -print
find / -size 50M -print
find / prune /etc
find / -user linuxprobe -exec cp -a {} /root/findresults/ \
find /etc -name "host*" -print
常用的 RPM 软件包命令
安装软件的命令格式 rpm -ivh filename.rpm
升级软件的命令格式 rpm -Uvh filename.rpm
卸载软件的命令格式 rpm -e filename.rpm
查询软件描述信息的命令格式 rpm -qpi filename.rpm
列出软件文件信息的命令格式 rpm -qpl filename.rpm
查询文件属于哪个 RPM 的命令格式 rpm -qf filename
常见的 Yum 命令
yum repolist all 列出所有仓库
yum list all 列出仓库中所有软件包
yum info 查看软件包信息
yum install 安装软件包
yum reinstall 重新安装软件包
yum update 升级软件包
yum remove 移除软件包
yum clean all 清除所有仓库缓存
yum check-update 检查可更新的软件包
yum grouplist 查看系统中已经安装的软件包组
yum groupinstall 安装指定的软件包组
yum groupremove 移除指定的软件包组
yum groupinfo 查询指定的软件包组信息