Linux企业常用命令详解

cat :查看
cat [-AbeEnstTuv] [--help] [--version] fileName
常用参数:
-n :由 1 开始对所有输出的行数编号
-b :和 -n 相似,对于空白行不编号
示例:
将test1中的内容加上行号输入到test2文件中:
cat -n test1 > test2
等同于more,more可以分页显示,空格下一页,b上一页。
 
chmod:权限
chmod [-cfvR] [--help] [--version] mode file...
常用参数:
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
r 表示可读取,w 表示可写入,x 表示可执行
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;若要 rw- 属性则 4+2=6;若要 r-x 属性则 4+1=5。
 
mv:更名移动
mv [options] source dest
mv [options] source... directory
常用参数:
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件
-n: 不要覆盖任何已存在的文件或目录
示例:
将 /usr/runoob 下的所有文件和目录移到当前目录下
$ mv /usr/runoob/* .
 
rm:删除
rm [options] filename...
常用参数:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
示例:
rm -rf test.sh
 
touch:文件时间修改,没有则创建文件
常用参数:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
d 设定时间与日期,可以使用各种不同的格式
示例:
$ touch testfile #修改文件的时间属性
 
cp:复制文件或目录
cp [options] source dest
常用参数:
-a:保留链接、文件属性,并复制目录下的所有内容
-i:重复文件覆盖提示
-r:源文件是一个目录文件,将复制该目录下所有的子目录和文件
 
scp: Linux 之间复制文件和目录
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版
scp [可选参数] file_source file_target
常用参数:
-r: 递归复制整个目录
-p:保留原文件的修改时间和格式
示例:
本地复制到远程端:scp -r /home/space/music/ root@www.runoob.com:/home/root/others/
远程端复制到本地:scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
 
cd:切换当前工作目录
cd [dirName]
 
df:显示磁盘使用情况
df [选项]... [FILE]...
常用参数:
文件-h, --human-readable 使用人类可读的格式
示例:
df -h
 
du:显示目录或文件的大小
du [-参数] filename...
常用参数:
-a: 显示目录中个别文件的大小
-c: 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
-h: 以K,M,G为单位,提高信息的可读性
-s: 仅显示总计
示例:
# du -h test
608K test/test6
308K test/test4
 
mkdir:创建目录
mkdir [-p] dirName
常用参数:
-p :确保目录名称存在,不存在的就建一个
示例:
mkdir runoob
 
pwd:显示工作目录(得知目前所在目录的绝对路径)
pwd [--help][--version]
示例:
# pwd
/root/test #输出结果
 
mount:用于挂载Linux系统外的文件。
mount [参数] [需挂载的目录] [挂载到的目录]
常用参数:
-o remount:将已经挂下的档案系统重新用不同的方式挂上
-o ro:用唯读模式挂上。
-o rw:用可读写模式挂上
示例:
将 /dev/hda1 挂在 /mnt 之下
#mount /dev/hda1 /mnt
 
umount:卸除目前挂在Linux目录中的文件系统
umount [-ahnrvV][-t <文件系统类型>][文件系统]
常用参数:
-a :卸除/etc/mtab中记录的所有文件系统
-t<文件系统类型> :仅卸除选项中所指定的文件系统
# umount -v /dev/sda1 通过设备名卸载
/dev/sda1 umounted
# umount -v /mnt/mymount/ 通过挂载点卸载
/tmp/diskboot.img umounted
 
ls:显示指定工作目录下之内容
ls [-alrtAFR] [name...]
常用参数:
-a 显示所有文件及目录 ( 
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-t 将文件依建立时间之先后次序列出
示例:
列出根目录(\)下的所有目录:
# ls /
 
telnet:命令用于远端登入
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]
常用参数:
  • -a 尝试自动登入远端系统。
  • -b<主机别名> 使用别名指定远端主机名称。
  • -d 启动排错模式。
  • -l<用户名称> 指定要登入远端主机的用户名称。
示例:
验证主机间连接状态
telnet IP:端口号
登录远程主机
# telnet 192.168.0.5
//登录IP为 192.168.0.5 的远程主机
 
ifconfig:显示或设置网络设备
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr][irq<irq地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
常用参数:
  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。
  • netmask<子网掩码> 设置网络设备的子网掩码
  • up 启动指定的网络设备。
示例:
1.显示网络设备信息
# ifconfig
2.启动关闭指定网卡
# ifconfig eth0 down
# ifconfig eth0 up
3.配置和删除IPv6地址
为网卡配置和删除IPv6地址
# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64
为网卡删除IPv6地址
# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64
4.用ifconfig修改MAC地址
# ifconfig eth0 down //关闭网卡
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
# ifconfig eth0 up //启动网卡
# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
# ifconfig eth1 up //启动网卡
5.配置IP地址
# ifconfig eth0 192.168.1.56
//给eth0网卡配置IP地址
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
// 给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
6.启用和关闭ARP协议
# ifconfig eth0 arp //开启
# ifconfig eth0 -arp //关闭
7.设置最大传输单元 
# ifconfig eth0 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes
 
netstat :显示网络状态。得知整个 Linux 系统的网络情况
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
常用参数:
-a或--all 显示所有连线中的Socket。
-g或--groups 显示多重广播功能群组组员名单。 
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-r或--route 显示Routing Table。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
示例:
显示详细的网络状况
# netstat -a
显示当前户籍UDP连接状况
# netstat -nu
显示UDP端口号的使用情况
# netstat -apu
显示网卡列表
# netstat -i
显示组播组的关系 
# netstat -g
显示网络统计信息
# netstat -s
显示监听的套接口
# netstat -l
 
ping :于检测主机
执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息。
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
常用参数:
-d 使用Socket的SO_DEBUG功能。
-c <完成次数> 设置完成要求回应的次数。
-f 极限检测。
-i<间隔秒数> 指定收发信息的间隔时间。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-R 记录路由过程。
-s<数据包大小> 设置数据包的大小。
-t<存活数值> 设置存活数值TTL的大小。
示例:
检测是否与主机连通
指定接收包的次数
# ping -c 2 www.runoob.com
traceroute:追踪显示网络数据包的路由途径,预设数据包大小是40Bytes,可另行设置。
traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
常用参数:
-d 使用Socket层级的排错功能。
-f<存活数值> 设置第一个检测数据包的存活数值TTL的大小。
-m<存活数值> 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p<通信端口> 设置UDP传输协议的通信端口。
-w<超时秒数> 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。
示例:
显示到达目的地的数据包路由
# traceroute www.google.com
 
adduer = useradd:新增使用者帐号或更新预设的使用者资料
adduser -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell]
常用参数:
添加一个一般用户
# useradd kk //添加用户kk
为添加的用户指定相应的用户组
# useradd -g root kk //添加用户kk,并指定用户所在的组为root用户组
创建一个系统用户
# useradd -r kk //创建一个系统用户kkcc1
为新添加的用户指定/home目录 
# useradd-d /home/myf kk //新添加用户kk,其home目录为/home/myf
//当用户名kk登录主机时,系统进入的默认目录为/home/myf
 
kill :删除执行中的程序或工作,程序或工作的编号可利用 ps 指令或 jobs 指令查看。
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
常用参数:
-l <信息编号> 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
-s <信息名称或编号>  指定要送出的信息。
[程序]可以是程序的PID或是PGID,也可以是工作编号。
使用 kill -l 命令列出所有可用信号。
最常用的信号是:
1 (HUP):重新加载进程。
9 (KILL):杀死一个进程。
15 (TERM):正常停止一个进程。
示例:
1.杀死进程 
# kill 12345
2.强制杀死进程
# kill -KILL 123456
3.发送SIGHUP信号,可以使用一下信号
# kill -HUP pid
4.彻底杀死进程
# kill -9 123456
5.显示信号
# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
杀死指定用户所有进程
#kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程
#kill -u hnlinux //方法二
 
ps :用于显示当前进程的状态,类似于 windows 的任务管理器。
ps [options] [--help]
常用参数:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
示例:
1.查找指定进程格式:
ps -ef | grep 进程关键字
2.例如显示 php 的进程:
# ps -ef | grep php
3.显示进程信息: 
# ps -A
4.显示指定用户信息
# ps -u root //显示root进程用户信息
5.显示所有进程信息,连同命令行
# ps -ef //显示所有命令,连带命令行
 
top:用于实时显示 process 的动态
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
常用参数:
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
示例:
显示进程信息
# top
显示完整命令
# top -c
以批处理模式显示程序信息
# top -b
以累积模式显示程序信息
# top -S
设置信息更新次数
top -n 2
//表示更新两次后终止更新显示
设置信息更新时间
# top -d 3
//表示更新周期为3秒
显示指定的进程信息 
# top -p 139
//显示进程号为139的进程信息,CPU、内存占用率等
显示更新十次后退出
top -n 10
使用者将不能利用交谈式指令来对行程下命令
top -s
 
free:命令用于显示内存状态
显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等
free [-bkmotV][-s <间隔秒数>]
常用参数:
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
示例:
1.显示内存使用情况
# free //显示内存使用信息
2.以总和的形式显示内存的使用信息
# free -t //以总和的形式查询内存的使用信息
3.周期性的查询内存使用信息
# free -s 10 //每10s 执行一次命令
 
rpm 命令用于管理套件,让 Linux 易于安装,升级。
rpm [选项参数] [rpm包名]
常用参数:
-i  显示套件的相关信息
-v 显示指令执行过程。
-h 套件安装时列出标记。
-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
示例:
1.安装软件 
# rpm -hvi dejagnu-1.4.2-10.noarch.rpm
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
准备...
########################################### [100%]
2.显示软件安装信息 
# rpm -qi dejagnu-1.4.2-10.noarch.rpm
示例:
rpm -q httpd:检查httpd包是否安装
rpm -ql httpd:查看软件安装路径
rpm -qi httpd:查看软件安装的版本信息
rpm -e httpd:卸载httpd软件
rpm -e --nodeps:强制卸载httpd软件
rpm -qa | grep httpd:检查httpd相关的软件是否安装
rpm -ivh httpd-2.4.6-40.el7.centos.x86_64.rpm:安装httpd软件
rpm -Uvh httpd-2.4.6-40.el7.centos.x86_64.rpm:升级httpd软件
rpm -ivh --nodeps httpd-2.4.6-40.el7.centos.x86_64.rpm:不依赖其它软件包
 
tar:备份压缩解压文件
tar [选项参数] 文件名目录名
常用参数:
-f<备份文件>或--file=<备份文件> 指定备份文件。
z或--gzip或--ungzip 通过gzip指令处理备份文件。
-x或--extract或--get 从备份文件中还原文件。
-v或--verbose 显示指令执行过程。
-t或--list 列出备份文件的内容。
示例:
1.压缩文件 非打包
# touch a.c
# tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz
a.c
2.列出压缩文件内容
# tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
3.解压文件
# tar -xzvf test.tar.gz
示例:
tar -cvf jfedu.tar.gz jfedu:打包jfedu文件或目录,并重命名为jfedu.tar.gz
tar -tf jfedu.tar.gz :查看 jfedu.tar.gz包中内容
tar -rf jfedu.tar.gz jfedu.txt:将jfedu.txt文件追加到jfedu.tar.gz包中
tar -xvf jfedu.tar.gz:解压jfedu.tar.gz程序包
tar -czvf jfedu.tar.gz jfedu:使用gzip格式打包并压缩jfedu目录
tar -cjvf jfedu.tar.bz2:使用bzip2格式打包并压缩jfedu目录
tar -czf jfedu.tar.gz * -X list.txt:使用gzip格式打包并压缩当前目录所有文件,排除list.txt 中记录的文件
tar -czf jfedu.tar.gz * --exclude=zabbix-3.2.4.tar.gz --exclude=nginx-1.12.0.tar.gz:使用gzip格式打包并压缩所有文件和目录,排除zabbix-3.2.4.tar.gz和nginx-1.12.0.tar.gz软件包
 
安装Nginx详细步骤
(1)Nginx.org官网下载Nginx-1.21.4.tar.gz包:
wget https://nginx.org/download/nginx-1.21.4.tar.gz
(2)Nginx 源码包解压:
tar -xvf nginx-1.21.4.tar.gz
(3)进入源码包解压后的目录,执行./configure 进行预编译,分号表示连接多个指令
cd nginx-1.21.4; ./configure
检查是否缺少依赖包,若缺少则安装,直到预编译通过
(4)make 编译
(5)make install 安装
 
fdisk:硬盘操作
示例:
企业场景DELL R730 热插拔添加新硬盘分区操作
1.fdisk -l 检测系统识别硬盘设别,新添加设备被识别为dev/sdb(sdc、sdd)等等
2.fdisk /dev/sda 基于新硬盘/dev/sda设备,创建磁盘分区/dev/sda3
3.按m获取帮助(分区命令参数如下,常用:m\n\p\e\d\w)
m:打印帮助菜单、n:添加一个新分区、p:打印分区表信息、d:删除一个分区、w:将分区表写入磁盘并推出。
4.创建dev/sda3 分区方法:
(1)fdisk /dev/sda(2)依次输入n、p、l,按Enter,再输入+20G,按Enter,输入w,最后执行fdisk -l | tail -10
5.分区格式化并挂载到/data/目录
mkdir - p /data/ 创建/data/数据目录
mount /dev/sda3 /data 挂在/dev/sda3 分区至/data/目录
df- h 查看磁盘分区详情
echo "mount /dev/sda3 /data" >> /etc/rc.local 将挂在命令加入开机启动
 
mount:目录挂载
示例:
mount /dev/sdb1 /data 挂载/dev/sdb1分区至/data/目录
mount /dev/cdrom /mnt 挂在cdrom光盘至/mnt 目录
mount -t ntfs-3g/dev/sdc /data1 挂载/dev/sdc移动硬盘至/data1目录
mount -o remount,rw 重新以读写模式挂载系统
mount -t iso9660 -o loop centos7.iso /mnt 将iso文件挂载至/mnt
mount -t fat32/dev/sdd1 /mnt 将优盘/dev/sdd1 挂载至/mnt/目录
mount -t nfs 192.168.1.11:/data/mnt 将远程192.168.1.11:/data目录挂载至本地/mnt目录
 
firewall:防火墙及端口操作
示例:
1、开放端口
firewall-cmd --zone=public --add-port=10050/tcp --permanent  # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #关闭5672端口
firewall-cmd --reload   # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
systemctl stop firewalld.service
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
6、检查端口被哪个进程占用
netstat -lnpt |grep 5672
7、查看进程的详细信息
ps 6832
8、中止进程
kill -9 6832
 
 
 
 
 
 
 
 
posted @ 2022-03-17 13:21  明明改变世界  阅读(74)  评论(0编辑  收藏  举报