Linux指令及用法总结(附举例)
Posted 温文艾尔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux指令及用法总结(附举例)相关的知识,希望对你有一定的参考价值。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
linux常用指令
pwd
- 显示当前目录
showdown
- 关机
reboot
- 重启
关于用户操作的指令
useradd 用户名
- 添加用户
passwd 用户名
- 为用户设置密码,不写用户名默认给当前登录的用户修改密码
userdel 用户名
- 删除用户但是保留家目录
userdel -r tom
- 删除用户以及用户主目录
id 用户名
- 查询用户信息指令,当用户不存在时,返回无此用户
su - 用户名
- 切换用户,从权限高的用户切换到权限低的用户不需要输入密码,反之需要,比如root,当返回原来的用户时,使用exit/logout指令
whoami/who an I
- 查看当前用户/登录用户,后面的更精准
w
- 查看当前活跃的用户
cat /etc/group
- 查看当前活跃的用户列表
cat /etc/passwd
- 查看用户组
用户组
groupadd 组名
- 新增用户组
groupdel 组名
- 删除用户组
useradd -g 用户组 用户名
- 增加一个用户zwj,直接将他指定到某个用户组
usermod -g 用户组 用户名
- 修改用户的组
usermod -d 目录名 用户名
- 改变该用户登录的初始目录(修改后的用户需要有进入到新用户的权限)
chgrp
- 修改文件所在的组
chgrp 组名 文件名
- 案例
- 请将/home/abc.txt文件的所在组修改成shaolin(少林)
- 请将/home/kkk目录下所有的文件和目录的所在组都修改成shaolin(少林)
运行级别指令
- init 3
- 切换为多用户状态有网络服务无界面
- init 5
- 切换为多用户状态有网络服务有界面(耗费资源)
- init 0
- 关机
systemctl set-default Target
- 设置默认级别,关机也不会被重置
systemctl get-default
- 获取当前默认级别
帮助指令
man
- 获得帮助信息,基本语法man [命令或配置文件](功能描述:获得帮助信息)
- 案例:查看ls命令的帮助信息
- 在linux下。.开头的是隐藏文件
help指令
- 基本语法:help 命令(功能描述:获得shell内置命令的帮助信息)
- 应用实例:查看cd命令的帮助信息
文件目录指令
tree
- 将文件及其子文件以目录的树形图的形式展示
- 用法 tree [目录]
- 如果没有tree指令。则使用yum install tree进行安装
pwd
- 显示当前工作目录的绝对路径
ls
- 用法:ls [选项] [目录或是文件]
- 常用选项
- -a :显示当前目录所有的文件和目录,包括隐藏的
- -l:以列表的方式显示信息
cd
- 用法:cd [参数]
- 功能描述:切换到指定目录
- cd ~ 或者 cd : 回到自己的家目录
- cd … 回到当前目录的上一级目录
- 返回到多个目录之前则例如…/…/ root
mkdir
- 用法:mkdir [选项] 要创建的目录
- 用于创建目录
- 常用选项
- -p :创建多级目录
- 举例
- 创建一个目录/home/dog
- mkdir /home/dog
- 创建多级目录/home/animal/tiger
- mkdir -p /home/animal/tiger
- 创建一个目录/home/dog
rmdir
- 用法:rmdir [选项] 要删除的空目录
- 用于删除空目录
- 举例
- 删除/home/dog
- 使用细节
- rmdir删除的是空目录,如果目录下有内容是无法删除的
- 如果需要删除非空目录,需要使用rm -rf 要删除的目录
touch
- 用法:touch 文件名称
- 创建空文件
cp
- 用法:cp [选项] source dest
- 拷贝文件到指定目录
- 常用选项
- -r:递归复制整个文件夹
- 举例
- 将/home/hello.txt拷贝到/home/bbb目录下
- cp /home/hello.txt /home/bbb/
- 将/home/bbb整个目录拷贝到/opt下
- cp -r /home/bbb /opt/
- 将/home/hello.txt拷贝到/home/bbb目录下
- 目录下有相同文件夹继续复制会提示是否覆盖,强制不覆盖的方法是
- \\cp
- 举例
- \\cp -r /home/bbb /opt
rm
- 用法:rm [选项] 要删除的文件或目录
- rm指令移除文件或目录
- 常用选项
- -r:递归删除整个文件夹
- -f:强制删除不提示
- 举例
- 将/home/hello.txt删除
- rm /home/hello.txt
- 递归删除整个文件夹/home/bbb
- rm -rf /home/bbb
- 将/home/hello.txt删除
mv
- mv用于移动文件与目录或重命名
- 用法
- mv oldNameFile newNameFile(重命名)
- mv 资源 目标位置 (移动文件)
- 举例
- 将/home/cat.txt文件重新命名为pig.txt
- mv cat.txt pig.txt
- 将/home/pig.txt文件移动到/root目录下
- mv pig.txt /root/
- 移动文件并重新命名
- mv pig.txt /root/cow.txt
- 将opt目录下的bbb文件夹整体移动到home下
- mv bbb /home/
- 将/home/cat.txt文件重新命名为pig.txt
cat
more
- more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令),详见操作说明
- 用法 more 要查看的文件
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z2CEHRU8-1626965796143)(C:\\Users\\Lenovo\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210709103032397.png)]
less
- less指令用来分屏查看文件内容,他的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在现实文件内容时,并不显示完,而是根据下一步指令显示
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jOHYepT0-1626965796146)(C:\\Users\\Lenovo\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210709105358160.png)]
echo
- echo输出内容到控制台
- 用法:echo [选项] [输出内容]
- 举例
- 使用echo指令输出环境变量
- echo $HOSTNAME
- 使用echo 指令输出 hello world
- echo hello world
- 使用echo指令输出环境变量
head
- head用于显示文件的开头部分内容,默认情况下显示文件的前10行
- 用法:
- head 文件(查看文件头10行内容)
- head -n 5 文件(查看文件头5行内容,5可以是任意行数)
- 举例
- 查看/etc/profile前5行代码
- head -n 5 /etc/profile
- 查看/etc/profile前5行代码
tail
- tail用于输出文件中尾部的内容,默认为尾部10行
- 用法:
- tail 文件
- tail -n 5 文件 查看文件尾5行内容,5可以是任意行数
- tail -f 文件(实时追踪该文档的所有更新)
>
将内容覆盖到文件中
举例
- echo “hello” > /home/mydate.txt
- ls -l >文件(将列表中的内容写入到文件中,覆盖)
- cat 文件1 > 文件2 (将文件1的内容覆盖到文件2)
- 将/home目录下的文件列表写入到/home/info.txt中,覆盖写入
- ls -l /home > /home/info.txt
>>
- 将内容追加到文件中
- 举例,将当前日历信息追加到/home/mycal文件中
- cal >> /home/mycal
history指令
- 查看已经执行过的历史命令,也可以执行历史指令
- 案例
- 显示最近使用过的10个指令
- history 10
- 执行历史编号为5的指令
- !5
- 显示最近使用过的10个指令
软链接(快捷方式)
ln指令
软链接又称符号链接,类似于windows里的快捷方式
- 用法:
- ln -s 真实位置路径 快捷方式路径
- 案例
- 在/home目录下创建一个软链接myroot,连接到root
- ln -s /root/ .home/myroot
- 删除myroot
- rm /home/myroot
- 在/home目录下创建一个软链接myroot,连接到root
- 细节说明
- 当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录
时间日期指令
date指令-显示当前日期
- date (显示当前时间)
- date +%Y (显示当前年份)
- date +%m (显示当前月份)
- date +%d (显示当前是哪一天)
- date “+%Y-%m-%d %H:%M:%S” (显示年月日时分秒)
- date -s 字符串时间
- 设置系统当前时间
cal指令
- cal 显示当前月份的日历
- cal 2020 显示2020一整年的日历
查找指令
find指令
- find指令将从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端
- 用法 find [搜索范围] [选项]
- 选项说明
- -name<查询方式> 按照指定的文件名查找模式查找文件
- -user<用户名> 查找属于指定用户名所有文件
- size<文件大小> 按照指定的文件大小查找文件
- 案例
- 按文件名,根据名称查找/home目录下的hello.txt文件
- find /home -name hello.txt
- 按拥有者,查找/opt目录下,用户名称为nobody的文件
- find /opt -user nobody
- 查找整个linux系统下大于200M的文件(+n大于 -n小于 n等于)
- find / -size +200M
- 按文件名,根据名称查找/home目录下的hello.txt文件
locate指令
- locate指令用于快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,为了保证查询结果的准确性,管理员必须定期更新locate时刻
- 特别说明
- 优于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
- 用法:locate 搜索文件
grep指令和管道符号
grep过滤查找,管道符,“”,表示将前一个命令的处理结果输出传递给后面的命令处理
- 用法:grep [选项] 查找内容 源文件
- 常用选项
- -n 显示匹配行及行号
- -i 忽略字母大小写
- 案例
- 请在hello.txt文件中查找"yes"所在行,并且显示行号
- cat /home/hello.txt | grep -n “yes”
- grep -n “yes” /home/hello.txt
- 请在hello.txt文件中查找"yes"所在行,并且显示行号
压缩和解压类
gzip指令
-
对文件进行压缩
-
用法
- gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)
gunzip指令
-
对文件进行解压缩
-
用法
- gunzip 文件.gz(解压缩文件命令)
zip指令
- 对文件夹进行压缩
- 用法
- zip [选项] xxx.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
- 常用选项
- -r:递归压缩
unzip指令
- 对文件夹进行解压缩
- 用法unzip [选项] xxx.zip
- 常用选项
- -d<目录> :指定压缩后文件的存放目录
案例
- 将/home下的所有文件进行压缩成myhome.zip
- zip -r myhome.zip /home/ [将home目录及其包含的文件和子文件夹进行压缩]
- 将myhome.zip解压到/opt/tmp目录下
- unzip -d /opt/tpm myhome.zip
tar指令
- tar指令是打包指令,最后打包后的文件是.tar.gz的文件
- 用法:tar [选项] xxx.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
- 选项说明
- -c
- 产生.tar打包文件
- -v
- 显示详细信息
- -f
- 指定压缩后的文件名
- -z
- 打包同时压缩
- -x
- 解包.tar文件
- -c
- 案例
- 压缩多个文件,将.home/pig.txt和/home/cat.txt压缩成pc.tar.gz
- tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
- 将/home的文件夹压缩成myhome.tar.gz
- tar -zcvf muhome.tar.gz /home
- 将pc.tar.gz解压到当前目录
- tar -zxvf pc.tar.gz
- 将myhome.tar.gz解压到/opt/tmp2目录下
- tar -zxvf /home/myhome.tar.gz -C /opt/tmp2
- 压缩多个文件,将.home/pig.txt和/home/cat.txt压缩成pc.tar.gz
组的指令
查看文件的所有者
- ls -ahl
chown
- 修改文件的所有者
- chown 用户名 文件名
- chown newowner:newgroup 文件/目录 改变所有者和所在组
- -R
- 案例
- 将/home/abc.txt文件的所有者修改成tom
- chown tom abc.txt
- 请将/home/kkk目录下所有的文件和目录的所有者都修改成tom
- chown -R tom abc.txt
- 将/home/abc.txt文件的所有者修改成tom
权限操作
chmod
-
通过chmod指令,可以修改文件或者目录的权限
-
第一种方式:+、-、=变更权限
- u:所有者g:所有组o:其他人a:所有人(u、g、o的总和)
- chmod u=rwx,g=rx,o=x 文件/目录名
- chmod o+w 文件/目录名
- chmod a-x 文件/目录名
-
第二种方式:通过数字变更权限
- r=4,w=2,x=1
- chmod 751 文件名
-
案例演示
- 给abc文件所有者读写执行权限,所在组读执行权限,给其他组读执行权限
- chmod u=rwx,g=rx,o=rx abc
- 给abc文件所有者除去执行的权限,增加组写的权限
- chmod u-x,g+w abc
- 给abc文件的所有用户添加读的权限
- chmod a+r abc
- 给abc文件所有者读写执行权限,所在组读执行权限,给其他组读执行权限
定时任务调度
crontab
- 进行定时任务的设置
- 用法crontab [选项]
- 常用选项
- -e 编辑crontab定时任务
- -l 查询crontab任务
- -r 删除当前用户所有的crontab任务
at
- 一次性定时计划任务
- ps -ef | grep atd检测atd是否启动
- 用法:at [选项] [时间]
- ctrl + D 结束at命令的输入
atrm
- 删除已经存在的一次性定时任务调度
- 用法:atrm 编号
硬盘和磁盘指令
lsblk
- 查看磁盘分区情况
lsblk -f
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tYGQ2pqG-1626965796148)(C:\\Users\\Lenovo\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210710151808748.png)]
mount
- 将一个分区与另一个分区联系起来
- mount 设备名称 挂载目录
- 例如:
- mount /dev/sdb1 /newdisk
umount
- 卸载挂载
- umount 设备名称 或者 挂载目录
- 例如
- umount /dev/sdb1 或者 umount /newdisk
du -h 目录
- 查询指定目录整体磁盘使用情况
- -s 指定目录占用大小汇总
- -h 带计量单位
- -a 含文件
- –max-depth=1 子目录深度
- -c 列出明细的同时,增加汇总值
- 案例:
- 查询/opt目录的磁盘占用情况,深度为1
- du -h --max-depth=1 /opt
- 查询/opt目录的磁盘占用情况,深度为1
网络相关指令
ipconfig指令
- 查看windows环境中VMnet8的网络配置
ifconfig指令
- 查看linux中的网络配置
进程相关指令
ps -a
- 显示当前终端的所有进程信息
ps -u
- 以用户的格式显示进程信息
ps -x
- 显示后台进程运行的参数
一般情况下三个参数组合使用
ps -ef
- 全格式显示当前所有的进程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7s3Mimf-1626965796149)(C:\\Users\\Lenovo\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210710220455873.png)]
kill
- 用法:kill [选项] 进程号(功能描述:通过进程号杀死进程)
- 常用选项
- -9:表示强迫进程立即停止(系统因为某些原因可能会停止kill指令的执行)
killall
- 用法:killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时有用)
- 使用killall,该进程的所有子进程也会被终止
pstree
- 用法:pstree [选项]
- 可以更直观的来看进程信息
- 常用选项
- -p:显示进程的PID
- -u:显示进程的所属用户
服务管理指令
service
- service 服务名 start
- service 服务名 stop
- service 服务名 restart
- service 服务名 reload
- service 服务名 status
setup
- 查看所有系统服务
chkconfig
-
为服务设置在某个运行级别上是自启动还是关闭
-
chkconfig --list | grep xxx
- 查看服务
-
chkconfig --level 5 服务名 on/off
- 设置某个服务在某级别自启动是关闭还是打开
systemctl
-
设置某服务的开机启动状态
-
systemctl start 服务名
-
systemctl stop 服务名
-
systemctl restart 服务名
-
systemctl reload 服务名
-
systemctl status 服务名
-
systemctl list-unit-files | grep xxx
- 查看某服务的开机启动状态
-
systemctl enable 服务名
- 设置服务开机启动(永久生效)
-
systemctl disable 服务名
- 关闭服务开机启动(永久生效)
-
systemctl is-enabled 服务名(查询某个服务是否是自启动的)
-
systemctl start 服务名
- 临时将服务开启
-
systemctl stop 服务名
- 临时将服务关闭
查看服务名称
- ls -l /usr/lib/systemd/system | grep fire
- 例如查看防火墙的服务名
- ls -l /usr/lib/systemd/system | grep fire
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g7VAW5eW-1626965796150)(C:\\Users\\Lenovo\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210712104903054.png)]
firewall(打开关闭端口)
- firewall-cmd --permanent --add-port=端口号/协议(端口号和协议都要)
- firewall-cmd --permanent --remove-port=端口号/协议
- firewall-cmd --reload
- 重新载入才能生效
- firewall-cmd --query-port=端口/协议
- firewall-cmd --list-all 查看开放的端口号
netstat -anp | more
- 查看端口协议以及状态
top
- 现实正在执行的进程,和ps不同之处在于,top执行一段时间可以更新正在运行的进程
- 用法:top [选项]
- 选项说明
- -d 指定top命令每隔几秒更新,默认是3秒
- -i 使top不显示任何闲置或者僵死进程
- p 通过指定监控进程ID来仅仅监控某个进程的状态
netstat
- 查看系统网络状况
- 用法:netstat [选项]
- 选项说明
- -an 按一定顺序排列输出
- -p 显示哪个进程在调用
rpm与yum
rpm
- 查询已安装的rpm列表
- 用法:rpm -qa|grep xx
rpm -q 软件包名
- 查询软件包是否安装
- rpm -q firefox
rpm -qi 软件包名
- 查询软件包信息
- rpm -qi firefox
rpm -qf 文件全路径名
- 查询文件所属的软件包
- rpm -qf /etc/passwd
卸载rpm包
- 用法:rpm -e RPM包的名称
安装rpm包
- 用法:rpm -ivh RPM包全路径名称
- 参数i:install安装
- 参数v:verbose提示
- 参数h:hash进度条
- 安装包都在packages中
- 将packages中的需要安装的包放在opt目录下进行安装
yum list
- 查询yum服务器是否有需要安装的软件
- yum list|grep xx软件列表
安装指定的yum包
- yum install xxx 下载安装
以上是关于Linux指令及用法总结(附举例)的主要内容,如果未能解决你的问题,请参考以下文章