少库文件

缺少库文件可以在这个网站查找是哪个包
http://rpm.pbone.net/

yum

yum provides package //软件属于哪个安装包
yum remove package //卸载软件
yum update <package_name>//仅更新指定的软件命令
回滚:
yum history list XXXX
yum history undo N(N是列表中的事务编号)

rpm

rpm -qa|grep package    //查询package有没有安装
rpm -ql package  //查看软件安装在哪个路径
rpm -qf 文件名称(绝对路径) //查看属于哪个软件   rpm -qf /usr/bin/wget
rpm -qf `which nslookup` //查看软件属于哪个安装包
rpm -ivh package //rpm安装  --force 强制安装
rpm -e package  //rpm 卸载

mount/umount

mount -t device(设备) dir(挂载点) 
umount 挂载点 

showmount -e 10.0.1.201  //验证NFS-SERVER是否能正常访问
mount /dev/cdrom /mnt/cdrom //挂载光驱
mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir //将文件和目录制作成光盘镜像文件
mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom //光盘镜像文件的挂接
mount -t ntfs /dev/sdc1 /mnt/usbhd1  //挂接移动硬盘
mount -t vfat /dev/sdc5 /mnt/usbhd2
注:对ntfs格式的磁盘分区应使用-t ntfs参数,对fat32格式的磁盘分区应使用-t vfat参数
mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs  //nfs共享挂载 linux之间
mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba  //linux连接windows共享
注:administrator 和 pldy123 是ip地址为10.140.133.23 windows计算机的一个用户名和密码,c$是这台计算机的一个磁盘共享。

systemctl

systemctl is-enabled 服务名称(nginx) //查看服务是否开机启动
systemctl enable/disable 服务名称 //开机启动和关闭
systemctl list-units --type=service //查看所有已启动的服务

locate

locate nginx //查看文件所在路径信息
updatedb //更新文件所在路径的索引数据库表

find

find /oldboy -type 文件类型 -name "文件名称"
find /oldboy -type f -mtime +10 -delete --- 删除历史数据信息
find /oldboy -type f -size +10M -delete --- 删除大于10M文件

-maxdepth //查找目录层级的深度
ok [commend] //查找后执行命令的时候询问用户是否要执行 find /var/log -type f -mtime +7 -ok rm {} ;
-exec //查找后执行命令的时候不询问用户,直接执行 find . -name "12a.txt" -exec cp {} {}.bak ;

du

du -sh * //汇总查看目录大小,以人类可读方式
-d //是 --max-depth=N 选项的简写,表示深入到第几层目录,超过指定层数目录则忽略 du -d 1 /root == du --max-depth=1 /root
-c: 除了显示目录大小外,额外一行显示总占用量 du -ch /root

tar 
---------- 
压缩数据命令

-z  压缩类型   -c  创建压缩包   -v  显示过程    -f  指定压缩文件路径    -x  解压文件   -t  查看压缩文件内容 
-j   bzip2文件

--exclude        排除指定文件不被压缩处理   --exclude-from

tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩

tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

date

date +%F #2022-02-08 当前年月日
date +%F_%T # 2022-02-08_14:50:25 当前时间
date +%c # Tue 08 Feb 2022 03:21:07 PM CST
date -s #修改时间 (软时间)
hwclock -s #硬件时钟设置系统时间

ln

ln -s 源文件 快捷链接
ln -s 192.168.110.12/skyhu /skyhu_softlink
删除软链接 rm -rf skyhu_softlink #注意不要带/,加了个/ 这个是删除文件夹

sort

sort -n #按照数值进行排序
sort -r #倒序
sort -k1 #按照指定列进行排序

uniq

删除重复的行,一般跟sort命令结合使用
当重复的行并不相邻时,uniq 命令是不起作用的,先sort
统计各行在文件中出现的次数:
sort testfile1 | uniq -c

rename

rename txt jpg 1.txt

   要修改的后缀   修改后的后缀   源文件

tail

tail -nf 100 /var/log/nginx/access.log |grep 关键字 #实时查看最后一百条日志
tail -n 4700 aa.log |more -1000 可以进行多屏显示

iptables

启动网络转发规则

公网210.14.67.7让内网192.168.188.0/24上网

iptables -t nat -A POSTROUTING -s 192.168.188.0/24 -j SNAT --to-source 210.14.67.127

iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

屏蔽IP

iptables -A INPUT -p tcp -m tcp -s 192.168.0.8 -j DROP  # 屏蔽恶意主机(比如,192.168.0.8
iptables -I INPUT -s 123.45.6.7 -j DROP       #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP      #封整个段即从123.0.0.1到123.255.255.254的命令

配置白名单


iptables -A INPUT -p all -s 192.168.1.0/24 -j ACCEPT  # 允许机房内网机器可以访问

iptables -A INPUT -p all -s 192.168.140.0/24 -j ACCEPT  # 允许机房内网机器可以访问

iptables -A INPUT -p tcp -s 183.121.3.7 --dport 3380 -j ACCEPT # 允许183.121.3.7访问本机的3380端口

useradd/usermod

useradd -d /home/apache2/htdocs/useronename -g sftpuserg -s /sbin/nologin useronename 创建用户,设置组和家目录
usermod -g group user # 修改用户组
chmod 755 user # 设置权限
chown #修改文件夹组

wget

限速1M --limit-rate=1M wget --limit-rate=1M https://.....
断点续传 -c 参数 
需要服务器支持  查看服务器支持命令 
wget -S http://mirrors.163.com 2>&1 |grep "Accept-Ranges"
wget -S https://mirrors.aliyun.com/centos/timestamp.txt 2>&1|grep "Ranges"
-O 参数 保存其它名字 

Curl

curl -I https://hqq365.com # -I 参数 获取网站的header信息
curl -s -o /dev/null -w %{http_code}"n" https://hqq365.com  #显示网站http状态代码
-C 断点续传 -o 把输出到指定的文件名 -O 默认文件名保存到本地

xargs

-d选项可以为输入数据指定自定义的分隔符 xargs的-n选项可以限制每次调用命令时用到的参数个数

cat example.txt | xargs -n 3
1 2 3
4 5 6
7 8 9
10 11 12
echo "splitXsplit2Xsplit3Xsplit4" | xargs -d X
Split1 split2 split3 split4

tr

echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z'
hello who is this

$ echo "Hello 123 world 456" | tr -d '0-9'
Hello world

将stdin中的数字删除并打印删除后的结果

chmod

chmod 1777 /tmp 或chmod o+t /tmp #查看是否加了sticky bit,用ls -l,可以看到有类似这样的权限:“-rwxrwxrwt
chmod g+s /tmp或chmod 2777 /tmp drwxrwsrwx

加上SGID的文件,表示运行这个程序时,是临时以这个文件的拥有组的身份运行的;加上SGID的文件夹,表示在这个目录下创建的文件属于目录所有的组,而不是创建人所在的组,在这个目录下创建的目录继承本目录的SGID

加SUID的方法:
chmod o+s /tmp或chmod 4777 /tmp drwsrwxrwx #SUID与SGID是一样的,惟一不同的是,运行时是以这个文件的拥有者身份来运行。

ps

ps aux

[root@k8s-node1 ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 125452  3912 ?        Ss   Mar24   1:00 /usr/lib/systemd/systemd --
root          2  0.0  0.0      0     0 ?        S    Mar24   0:00 [kthreadd]

。STAT表示进程的运行状态,包括以下几种代码:D,不可中断的睡眠;R,就绪(在可运行队列中);S,睡眠;T,被跟踪或停止;Z,终止(僵死)的进程,Z不存在,但暂时无法消除

修改path环境变量

export PATH=/usr/local/mongodb/bin:$PATH ##临时增加mongodb的环境变量
永久修改 ~/.bashrc /etc/bashrc /etc/profile

gpasswd 修改用户组

把用户加入某个组织,但不退出当前组,同时属于多个组
usermod -a -G groupname username

gpasswd -a test test2 //将用户test加入到test2组
gpasswd -d test test2 //将用户从test2组中移出

cp

-u 参数 增量复制文件
-f参数  强制复制 

标签: 常用命令

添加新评论