Linux 基础—shell 常用命令(二)

linux系统shell常用的基本命令合计86个,根据个人习惯分了以下6类:系统快捷指令、系统管理指令、文件管理指令、文件权限指令、用户权限指令、资源管理指令。
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZKf6IGq6ZOD,size_20,color_FFFFFF,t_70,g_se,x_16

系统快捷指令clearclear清屏
tabtab自动补全
Ctrl+c Ctrl+c 中断任务
Ctrl+z Ctrl+z 暂停任务到后台挂起
系统管理指令rebootreboot重启
shutdownshutdown -h 0关机
unameuname -a查看系统相关信息
hostnamehostname testhost临时更改主机名
chkconfig

chkconfig --list
chkconfig --level 35 iptables on
chkconfig --add test
chkconfig --del test

配置服务开机自启
ulimit ulimit -a查看资源限额
uptimeuptime查看系统负荷
ww查看登录服务器的用户信息,而且可以看到这些用户做了什么
whoamiwhoami查看登录服务器的用户信息,而且可以看到这些用户做了什么
whichwhich iptables显示命令的绝对路径
mount mount /dev/cdrom /mnt挂载光驱文件到/mnt
showmount -e s.hw.com查看可用的NFS Server

mount.xnfs -o rsize=1048576,wsize=1048576,vers=3,

sip=192.168.60.133_192.168.60.134 s.hw.com:/xnfs /mnt/DFSclient

挂载nfs 文件
◾vers=3:仅支持v3挂载,必须指定。
◾tcp:使用tcp连接,必须指定,仅支持tcp。
◾nolock:不使用nfs分布式锁,为了获得更好的性能,必须指定nolock参数。
◾rsize:读粒度大小,默认为最大值1048576 Byte,根据文件系统默认块大小指定。
◾wsize:写粒度大小,默认为最大值1048576 Byte,根据文件系统默认块大小指定。
mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao  挂载cifs 文件
mount -o loop 镜像文件   挂载点挂载镜像文件
unmount /mnt卸载挂载目录
lastlast查看最近1个月用户登录服务器的情况
last reboot查看历史重启记录
idid user1查看用户信息
date date -s "2007-08-03 14:15:00"  更改时间
date -d "2010-11-01 00:00:00" +%s年月日标准时间格式(+%Y-%m-%d" "%H:%M:%S)转换为时间戳格式
date -d @1288540800时间戳格式转化为年月日标准时间格式(+%Y-%m-%d" "%H:%M:%S)
historyhistory -c清除history记录
history -a将shell 缓存的记录,追加至~.bash_history 文件中
history -w将shell 缓存的记录,替换至~.bash_history 文件中
history -r将~.bash_history 文件中的数据刷新到shell 缓存中
ldd ldd /usr/sbin/iptablesldd可以列出一个程序所需要得动态链接库(so)
bc echo "scale=0;$min_rat * $threshold/1" |bc用计算器计算两个值的乘积
vi & vim vi test.txt文本编辑器
文件管理指令pwdpwd显示当前目录
ls ls默认查看当前文件列表
ls -ltr按时间排序查看文件列表
ls  -a显示隐含文件列表
ls -R递归显示显示文件列表
filefile test.txt用于辨识文件类型,该命令用来识别文件类型,也可用来辨别一些文件的编码格式
cd cd默认切换用户家目录
cd -切换至上一次所在目录
df df -h 以更简易的方式显示空间大小与使用情况。
df -i以inode模式来显示磁盘的文件数。磁盘在格式化文件系统的时候默认 16k 一个 inode,万一小文件过多 inode 会不够。
du du -sh显示指定目录下每个文件或目录的容量大小,并且以易读方式显示
cp cp 源文件 目标文件拷贝文件
mv mv  /tmp/myfile  /opt/mydir1如果mydir1存在且是个目录,则将文件myfile移动到目录mydir1中,如果不存在就是直接移动了目录路径。
mv /tmp/myfile  /tmp/myfile2同一个目录执行该命令代表修改目录、或者文件名称。
rmrm  php.txt指定删除php.txt文件
rm  -rf  /tmp/abc参数-r是递归的意思,即可以删除非空目录;参数-f是强制的意思
mkdirmkdir test创建test文件夹
mkdir /tmp/hh/test创建多级目录
rmdir   mydir1删除目录mydir1
touch touch myfile如果不存在会创建新文件,如果存在会变更文件的最后修改时间。
cat cat myfile查看指定文件
cat > /etc/sysconfig/network/routes << EOF
default 10.239.82.254 - -
10.183.96.128 10.242.3.254 255.255.255.128 eth1
EOF
文件重定向
cat /proc/net/bonding/Ibond0查看网卡的活动状态
cat /etc/rsyslog.conf|grep -vE “#|$” > ./rsyslog.conf.def去掉注释和空行
cat /sys/class/net/IbondX/bonding/slaves检查bondx 绑定持久化配置
moremore  /etc/httpd/conf/httpd.conf分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行
lessless  /etc/httpd/conf/httpd.confless与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。
head head -n 10 /etc/httpd/conf/httpd.conf参数-n设置显示指定行数,本例会显示文件的头10行的内容。
tail tail -n 10 /etc/httpd/conf/httpd.conf参数-n设置显示指定行数,本例会显示文件的尾10行的内容。
tail -f /etc/httpd/conf/httpd.conf动态查看文件
echo echo "Hello"打印
echo ‘mima_123‘ |passwd --stdion tom将mima_123打印输出并通过标准输入更改tom密码
echo >/tmp/hh.txt清空/tmp/hh.txt文件数据
diff diff  test  mytest比较文件test与mytest是否相同,将不同之处输出到屏幕上。
wc wc  -l  /etc/nsswitch.conf参数-l的功能可统计出指定文件的行数。另外,利用参数-w统计单词,利用-c统计字符数。
sort sort  mytest将指定文件以行为单位按正序输出
sort -k1 -nr  mytest按出现次数排序
uniq uniq -c 在输出行前面加上每行在输入文件中出现的次数。
uniq -u仅显示不重复的行。
cut cut  -d:  -f1  /etc/passwd参数-d用来定义字段之间的分隔符,参数-f指定提取第几个字段;本例为提取/etc/passwd文件中以“:”为分隔符的第1个字段。
find find  /  -name  "dhcpd*"参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r将find命令的输出传递给ls,它将打印每个找到的文件的大小,然后将该输出传递给sort命令,以根据文件大小的第5列对其进行排序。
find  .  -cmin -5从当前目录下查找5分钟之内修改过的文件
grep grep  "network"  /etc/*.conf利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。
grep  -v  "network"  /etc/nsswitch.conf查找/etc/nsswitch.conf文件中不包含字符串“network”的行。
grep -Ev '^$|^\s*#' /etc/ansible/cfg就可以正常的去掉全部注释。
zgrep -aE "(\[ping_check\] drop fault local addr)" /var/log/oam/fsa/bak/dsware.{2022-03-22_{1[6-9],2[0-3]},2022-03-23}* > tmp_ping_drop 2> /dev/null按条件解压过滤文件
sed sed -i '/checkSsh/ s/^\(.*\)$/#\1/g' /etc/crontab匹配到查询的内容checkSsh 注释这一行
sed -i '/checkSsh/ s/#//g' /etc/crontab匹配到查询的内容checkSsh 删除注释:
sed -i '/checkSsh/d' /etc/crontab匹配到查询的内容checkSsh 删除行:
sed -i  '/IPADDR/ s/^\(.*\)$/IPADDR=172.16.0.3/g' /etc/sysconfig/network-scripts/ifcfg-Ibond1 匹配到查询的内容checkSsh 替换这一行
awk lsof |grep delete |awk “{print $2}”|xargs kill -9 将查询的进程杀掉
awk '{print $1,$2}' rumenz.txt打印文件的前两列
awk '{print $NF}' rumenz.txt打印文件的最后一列
awk 'END{print NR}' rumenz.txt打印文件的总行数
cat /etc/passwd | awk -F ":" '{print $1" : "$7}'打印以: 为分割的第1列与第7列的信息
awk '/^[^$]/ {print $0}' rumenz.txt过滤空行
awk 'NF' rumenz.txt删除空行
cat 1.txt | awk '{a+=$1}END{print a}'求和
tar tar  -zcvf  myetc.tar.gz  /etc将目录/etc打包为一个名为myetc.tar.gz的文档。
tar -zxf myetc.tar.gz -C /tmp文件解压到指定目录。
zip zip -r 压缩文件夹.zip 要压缩的文件压缩文件
unzip 解压的文件.zip解压缩
文件权限指令chownchown  user1  hello.txt将指定文件hello.txt的属主(所有者)改为user1
chown  user1:sheel  hello.txt将指定文件hello.txt的属主(所有者)改为user1,属组(组织)改为wheel。
chown  -R  user1  mydir参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改为指定的用户;本例中会将mydir目录中所有子目录和文件的属主设定为user1。
chgrpchgrp  mygroup1  hello.txt将指定文件hello.txt的属组改为mygroup1。
chmodchmod  u+x  host.conf字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;
=表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示在原有权限的基础上去掉指定权限;
r、w、x三种权限,既可以单独使用也可以组合使用
为文件host.conf的属主增加执行权限。
chmod  g-w,o=x  host.conf将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变。
chmod  -R 750  host.conf以8进制配置权限,加-R表示递归授权。
lsattrlsattr /etc/hosts命令用于查看文件属性信息,可以查看chattr 加锁的配置。
chattrchattr +i /etc/hosts文件加锁
chattr -i /etc/hosts 文件解锁
linkln -s 源文件 目标文件对源文件建立符号连接,而非硬连接。
用户权限指令groupaddgroupadd  -g 5000  mygroup2在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。同时每个用户也必须至少属于一个组,也有组标识符GID。其中UID与GID独立编号。
创建一个新组mygroup2,并指定其GID号为5000,其中-g用来设置用户的主要组,每个用户都有一个主要组。
groupdelgroupdel mygroup2删除指定的组,当某个组是某现有用户的主要组时,则不能被删除。
groupmodgroupmod -g 501 mygroup2变更组gid
useradduseradd  user1创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。与用户相关的主要配置如下:
/etc/passwd文件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息
/etc/shadow文件记录了每个用户的口令,以及口令保持周期等
/etc/login.defs 文件记录了登录用户的相关配置
/etc/pam.d/login 用户登入安全模块
/etc/pam.d/system-auth 密码设置及登陆控制文件
/etc/security下的文件则对于每个pam模块又做了具体的配置策略
useradd -u 1300 -g lack,wheel -G lack -d /home/lack -s /bin/bash -m lack创建属于多个组的用户
userdeluserdel  user1普通删除用户
userdel  -r  user2删除指定的用户user2,同时删除其主目录。
usermod usermod  -u  601  -g 501  lack变更用户信息
passwdpasswd user1改变口令
passwd  -l  user1禁止用户登入
passwd –u  user1解锁用户登入
chagechage -M 9999 user1更改用户密码策率为永不过期
chage -l user1查看用户密码策率信息
资源管理指令lscpu lscpulscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息
lsmem lsmemlsmem从sysfs和/proc/meminfo收集mem体系结构信息
freefree -h查看内存信息
fdiskfdisk -l 查看磁盘信息
lsblk lsblklsblk命令的英文是“list block”,即用于列出所有可用块设备的信息
blkidblkid -o list以列表形式查看磁盘详细信息(默认显示所有设备)
iostat iostat -txkd 1统计磁盘每一秒运行情况,主要关注await I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒
ethtool ethtool eth0查看网卡信息
ethtool -p eth0点亮闪烁 eth0 网口
ethtool -m eth0 |grep "Laser output power" |head -1 | awk -F '/' '{print $2}'查看模块发光
ethtool -m eth0 |grep "Receiver signal" |head -1 | awk -F '/' '{print $2}'查看模块收光
ifconfig 

ifconfig
ifup eth0
ifdown eth0

ifconfig eth5 10.183.238.67/26

查看所有IP地址信息
启动网卡
关闭网卡
ifenslave ifenslave -c bond0 eth1将一个物理接口eth1作为active接口
ifenslave bond0 eth1将一个物理接口eth1添加至bond0
ifenslave -d bond0 eth0 从bond0中删除掉eth0
netstat 

netstat -anp |grep LISTEN

netstat -tuln

直接统计tcp数量监听的数量
netstat -an查询所有网络连接以及每一个网络接口设备的状态信息
netstat -tunlp | awk '/^tcp/{++a[$6]}END{for(i in a) print i,a[i]}'结合awk统计TCP连接数
sar sar -n DEV 1查看实时的网络流量。
tcpdump tcpdump -i any -Xs 0 -vvv host 10.0.0.1 and port 90 -w /opt/test.cap抓取任意接口与10.0.0.1主机数据报文,并显示抓包的数量
 lsof  lsoflsof(list open files)是一个列出当前系统打开文件的工具
lsof -i:22查询22端口被哪个进程占用
lsof -u username 查看用户打开哪些文件
ps ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|headlinux 下 取进程占用 cpu 最高的前10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|headlinux 下 取进程占用内存(MEM)最高的前10个进程
ps -aux | awk '$8 == "D","Z"' 查找D状态或者Z状态进程
ps h -Led -o user | sort | uniq -c | sort -n统计每个用户起用的线程数有多少。
ip ip -a 查看所有网络信息
ip route查看路由表
ip route add default via 192.168.10.3添加默认路由
ip rule show 显示路由规则
ip rule add from 192.168.1.0/24 pref 1001 table test1添加策略路由
ip rule del from 192.168.1.0/24 pref 1001 table test1删除策略路由
ip addr add 192.168.10.111/24 dev eno16777736 设置IP地址
ip addr del 192.168.10.111/24 dev eno16777736删除IP地址
iptablesiptables -S 默认查看iptables filter表的信息
iptables --line -nL查看规则链
iptables -D INPUT  1 (num)删除规则链
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT插入规则链
service iptables save 或者 iptables-save >/etc/sysconfig/iptables备份
iptables-restore < /etc/sysconfig/iptables恢复
route route查看路由

route add -net 192.168.0.0/24 gw 192.168.0.1

route add default gateway 10.183.238.65

添加路由
route delete -net 192.168.0.0/24删除路由
traceroute traceroute 10.0.0.1路由跟踪
traceroute -p 22 10.0.0.1 -T探测TCP端口连通性
traceroute -p 22 10.0.0.1 -U探测UDP端口连通性,如果特定端口不通,其它端口通,说明通信正常。
traceroute -s 10.0.0.1 11.0.0.1 指定源端口探测
telnet telent 10.0.0.1 22测试端口连通性
nmapnmap -sU 10.0.0.1  -p 53测试UDP端口通信
ssh ssh -v -p port username@ip测试端口连通性
ssh 客户端用户名@服务器ip地址 远程登入主机
top top -d 1一秒钟刷新系统资源运行情况。
vmstatvmstat -t 1统计系统每一秒的整体运行情况

上一篇:Linux基础—系统结构介绍(一)​​​​​​

下一篇:Linux基础—应用程序安装(三)

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值