一、前言
家里领导因公司系统部署国产化发展趋势,需要学习Linux。作为Linux初学者,希望能有一篇博文提供学习快速学习和掌握Linux系统的常用基础命令。为了满足领导要求,特编写此博文,尽量将常用Linux命令囊括进来,以示例的方式介绍命令的使用。为了更加贴近需求,博文介绍将以银行麒麟V10操作系统环境为例进行示例介绍。
二、常用命令示例
1、网络管理
查看IP地址,ip address命令或者ifconfig命令
[root@qlv10 ~]# ip address
[root@qlv10 etc]# ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.150 netmask 255.255.255.0 broadcast 192.168.0.255
配置网卡IP、掩码、网关,其中ens18为网卡名称,通过上一个命令可以看到
[root@qlv10 etc]# vim /etc/sysconfig/network-scripts/ifcfg-ens18
重启网络服务,systemctl restart network
[root@qlv10 etc]# systemctl restart network
查看路由,使用route -n命令
[root@qlv10 etc]# route -n
配置DNS,编辑/etc/resolv.conf文件,格式参照下面示例
[root@qlv10 etc]# vim /etc/resolv.conf
nameserver 114.114.114.114
查看监听端口,使用netstat -tnpl查看TCP端口监听情况
[root@qlv10 etc]# netstat -tnpl
查看防火墙状态,systemctl status firewalld查看防火墙状态,status是查看状态,start可以启动防火墙,stop可以关闭防火墙
[root@qlv10 etc]# systemctl status firewalld
开通一个端口权限,以开通80端口为例
[root@qlv10 etc]# firewall-cmd --zone=public --add-port=“80”/tcp --permanent
success
[root@qlv10 etc]# firewall-cmd --reload
success
查看防火墙开放的端口列表
[root@qlv10 etc]# firewall-cmd --list-all
添加一条静态路由,使用route add命令添加一条静态路由,使用route del命令删除路由
[root@qlv10 etc]# route add -net 100.1.1.0 netmask 255.255.255.0 gw 192.168.0.186
查看网卡是否连接,Link detected: yes表示已连接,no表示未连接
[root@qlv10 yhxx]# ethtool ens18
2、系统信息
查看系统架构,一般都是x86架构,常见国产服务器为aarch架构
[root@qlv10 etc]# arch
x86_64
查看系统内核版本,uname命令也可以查看系统架构信息,cat /proc/version文件也可以看到内核版本信息
[root@qlv10 etc]# uname -a
Linux qlv10 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@qlv10 etc]# cat /proc/version
查看系统版本,国产服务器一般是
[root@qlv10 etc]# cat /etc/os-release
[root@qlv10 etc]# cat /etc/system-release
查看内存大小,free命令可以查看内存及swap的大小及使用情况
[root@qlv10 etc]# free -h
[root@qlv10 etc]# cat /proc/meminfo
查看CPU数量
[root@qlv10 etc]# cat /proc/cpuinfo
查看系统时间,date命令查看的是系统时钟,clock命令查看的是硬件时钟
[root@qlv10 etc]# date
2022年 11月 24日 星期四 11:18:10 CST
[root@qlv10 etc]# clock
2022-11-24 11:18:21.155292+08:00
查看系统负载
[root@qlv10 etc]# top
3、进程管理
过滤查看某进程,使用ps -ef与grep命令结合,查看指定进程,也可以与netstat -tnpl命令综合一起确认监听端口的进程
[root@qlv10 etc]# ps -ef |grep ssh
获取指定关键字进程ID,可以与xargs kill命令结合使用杀死指定进程,新手建议使用关键字为可以确定唯一进程的关键字
[root@qlv10 etc]# pgrep -f tomcat
[root@qlv10 etc]# pgrep -f tomcat |xargs kill
查看进程工作路径,3107为进程ID,cdw执行的就是进程服务所在路径
[root@qlv10 etc]# ll /proc/3107 |grep cwd
杀死进程,使用kill pid命令杀死指定进程,如果无法杀死可以使用kill -9 pid强制杀死进程
[root@qlv10 etc]# kill 11111
查看在线会话,使用w或者who都可以连接会话,行中有IP地址的为远程连接会话
[root@qlv10 etc]# who
yhxx tty1 2022-11-23 17:57 (:0)
root pts/0 2022-11-24 10:44 (192.168.0.186)
[root@qlv10 etc]# w
断开会话连接,使用pkill -kill -t ttyid断开指定会话,ttyid为如上的tty1,pts/0
[root@qlv10 etc]# pkill -kill -t tty1
4、目录和文件管理
查看当前路径,使用pwd命令
[root@qlv10 yhxx]# pwd
/home/yhxx
切换目录,使用cd命令,~表示用户家目录,.表示当前目录,…表示上一层目录
[root@qlv10 ~]# cd /home/yhxx/
查看目录及文件列表,使用ls -l命令可以看到目录下的文件及目录信息,包括属主、权限等,默认不包括隐藏文件,如果需要查看隐藏文件使用-a参数,如ls -al
[root@qlv10 yhxx]# ls -l
创建一个文件,使用touch命令
[root@qlv10 yhxx]# touch a.txt
创建一个目录,使用mkdir命令
[root@qlv10 yhxx]# mkdir test
创建一个软连接,使用ln命令,创建软连接文件b.txt
[root@qlv10 yhxx]# ln -s a.txt b.txt
移动目录或者文件,使用mv命令,相当于重命名
[root@qlv10 yhxx]# mv test/ tt
拷贝文件或者目录,使用cp命令,如果目标路径后跟了文件名则表示拷贝并重命名,如果是递归拷贝可以使用-R参数
[root@qlv10 yhxx]# cp a.txt tt/c.txt
[root@qlv10 yhxx]# cp -R tt test
#如上如果test不存在,命令等价于将tt复制为test,如果test存在表示将tt拷贝到test目录下,所以注意查看结果
5、权限管理
给文件添加执行权限,使用chmod命令,u+x表示给属主用户添加执行权限,a+x表示给所有用户添加执行权限,如果是需要减少权限则使用u-x,x,r,w分别表示执行,读,写
[root@qlv10 yhxx]# chmod u+x a.txt
修改文件或目录属主,使用chown user:group命令修改文件或者目录属主,如果需要递归修改目录则需要加上-R参数
[root@qlv10 yhxx]# chown root.root a.txt
[root@qlv10 yhxx]# chown -R root:root tt
添加一个用户
[root@qlv10 yhxx]# useradd test
修改用户密码,root账户可以使用passwd user修改指定user的密码,不需要输入旧密码,普通用户可以使用passwd修改自己密码,需要输入旧密码确认
[root@qlv10 yhxx]# passwd yhxx
6、磁盘管理
挂载磁盘,使用mount命令挂载磁盘,如果是特殊文件类型还需要加上指定参数,比如挂载iso文件:mount -o loop xx.iso /mnt/cdrom,要求挂载的目录存在
[root@qlv10 ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
取消挂载
[root@qlv10 ~]# umount /mnt
查看磁盘利用率
[root@qlv10 yhxx]# df -hT
查看目录下各文件大小,*表示当前目录下所有文件及目录,使用/dir也可以查看指定目录的大小
[root@qlv10 yhxx]# du -sh *
[root@qlv10 yhxx]# du -sh /tmp
7、文件查看、打包、搜索
查看文件,可以使用cat、head、tail命令查看文件。cat可以结合more,less命令翻页查看,more只可以向后翻页,less可以用翻页键上下翻页
[root@qlv10 yhxx]# cat a.txt
士兵是个好人,很坚强
将军是个好人,很威武
查看前n行
[root@qlv10 yhxx]# head -n 1 a.txt
士兵是个好人,很坚强
查看后n行,我们常用tail -fn查看应用日志后面的n行,动态更新的最后N行日志:tail -fn 100 tomcat.out
[root@qlv10 yhxx]# tail -n 1 a.txt
将军是个好人,很威武
将目录tar包为一个文件,可以将1个或者多个文件tar包为1个文件
[root@qlv10 yhxx]# tar -cvf test.tar test/ tt/
test/
test/c.txt
test/tt/
test/tt/c.txt
tt/
tt/c.txt
解开tar包文件,如果是解开压缩的tar包文件,使用tar -zxvf
[root@qlv10 yhxx]# tar -xvf test.tar
tar包并压缩文件,tar包时还可以使用–exclude=log,排除指定文件或者目录
[root@qlv10 yhxx]# tar -zcvf test.tar.gz test/ tt/
test/
test/c.txt
test/tt/
test/tt/c.txt
tt/
tt/c.txt
zip压缩文件,可以将多个文件或目录压缩为1个文件,使用unzip命令解压,如果是需要将文件打包下载到window环境,建议使用zip命令,一般window环境都可以解压
[root@qlv10 yhxx]# zip -r test.zip test tt
adding: test/ (stored 0%)
adding: test/tt/ (stored 0%)
adding: test/tt/c.txt (stored 0%)
adding: test/c.txt (stored 0%)
adding: tt/ (stored 0%)
adding: tt/c.txt (stored 0%)
搜索指定文件,搜索当前目录下的txt文件
[root@qlv10 yhxx]# find . -name “*.txt”
查询二进制文件存储路径
[root@qlv10 yhxx]# which java
/usr/bin/java
8、系统关机和重启
重启系统,如下命令都可以重启系统,重启或者关机需要root账户或者具有sudo权限的普通账户才可以执行
[root@qlv10 yhxx]# reboot
[root@qlv10 yhxx]# halt --reboot
[root@qlv10 yhxx]# poweroff --reboot
[root@qlv10 yhxx]# shutdown -r
[root@qlv10 ~]# init 6
关机,如下命令都可以关机
[root@qlv10 ~]# poweroff
[root@qlv10 ~]# shutdown -P
[root@qlv10 ~]# halt -p
[root@qlv10 ~]# init 0
定时重启系统,在晚上10点重启系统
[root@qlv10 ~]# shutdown -r 22:00:00 &
定时关机,在晚上10点关闭操作系统
[root@qlv10 ~]# shutdown -h 22:00:00 &
9、文件的上传下载
单个文件的下载,使用CRT终端工具连接可以使用sz file命令下载指定文件,默认下载到CRT配置好的目录,如果目录不存在则会要求弹窗选择
[root@qlv10 yhxx]# sz a.txt
上传单个文件,使用rz命令上传,-y表示文件如果存在则覆盖
[root@qlv10 yhxx]# rz -y
scp方式上传本地文件到远端,如果是上传下载目录加上-r参数,需要输入远端服务器密码后开始上传
[root@qlv10 yhxx]# scp -r test 192.168.0.142:/tmp/
scp方式将远端文件或者目录下载到本地,示例将远端的test.tar下载到当前目录,需要输入远端服务器密码后开始下载
[root@qlv10 yhxx]# scp 192.168.0.142:/tmp/test.tar ./
10、依赖软件的安装和卸载
YUM安装软件,可以自动查找并安装依赖包
[root@qlv10 yhxx]# yum install -y vim
YUM卸载软件
[root@qlv10 yhxx]# yum remove vim
查询是否安装指定包,可以使用rpm -qa查询
[root@qlv10 yhxx]# rpm -qa |grep ssh
安装rpm包,使用-ivh可以安装指定包
[root@qlv10 yhxx]# rpm -ivh epel-release-latest-7.noarch.rpm
卸载rpm包,使用-e卸载指定包,–nodeps类似强制卸载
[root@qlv10 yhxx]# rpm -e --nodeps mariadb-server-10.3.9-9.p02.ky10.x86_64
11、查看硬件信息
查看系统硬件信息可以使用dmidecode命令,关于此命令详解可以参考博文:Linux命令之dmidecode命令
查看主板信息
[root@qlv10 yhxx]# dmidecode -t 2
查看内存信息
[root@qlv10 yhxx]# dmidecode -t 16
查看CPU信息
[root@qlv10 yhxx]# dmidecode -t 4
12、shell脚本执行
关于shell脚本执行的四种方式见博文:shell程序启动的四种方式
————————————————
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!