• linux-命令


    、free -mh # 查看内存总大小等信息

    、ls  # 查看一个目录中的所有文件,就是list的缩写

    、ls -Z  # 参数大写的Z就是用来查看标签

    、ls -l  # 将当前目录下的所有文件列出,详细的信息包括权限,用户组、创建时间、名称,可以缩写就是ll

    、ls -l /temp  # 列出根目录下的temp文件夹下的文件列表,也可以缩写 ll -d

    、ls -ld /temp  # 查看目录的信息

    、ls --help   # 查看帮助,所有的指令后面跟 --help 会提示帮助,help不能缩写

    、ls -al  # 查看隐藏文件和隐藏目录,就是目录或文件前面带 . 的

    、ls -R  # 递归方式,显示所有包含所有子目录的内容

    、ll -d /bin  # 查看目录的特性,详细信息

    、usernod -L user  # 锁定指定用户,user就是用户名

    、clear  # 清空屏幕

    、ssh root@IP(hostname)  # ssh登录其他主机,ssh + 用户名 + @ + IP地址或者主机名

    、mkdir back_$(date +%Y:%m:%d)  # 创建备份目录,使用当前时间,就是命令嵌套命令

    、passwd  # 修改密码

    、passwd user # 修改指定用户的密码,执行指令必须是root用户

    、passwd -l user  # 锁定指定用户无法登录,执行指令必须是root用户

    、passwd -u user # 解锁指定用户,执行指令必须是root用户

    、data  # 显示时间。参数前必须用+号 (date +%Y:%m:%d)

    date –s '1987-05-02 10:10:10'  # 修改时间

    、file   #显示文件类型, 后面跟文件名/目录(目录也是一种特殊的文件),可以查看文件的属性,是文件还是文件夹(directory),还是块设备(block),格式

    、cat # 查看 一个或多个文件的内容,开可以将内容重定向到新文件

    、cat  filename  # 查看文件的内容

    、cat filename > newfilename  # 将filename中的内容注入到newfilename中

    、less  filename #  查看文件内容,显示第一页的内容,每次显示一页,用上下键翻页查看

    、more filename  # 查看文件内容,从最后一页显示,不支持上下键

    、cat << EOF >> test.txt  # 在terminal中输入内容注入到test.txt中,EOF就是结束字符,快速写脚本

    、head  filename  #  查看文件前10行内容

    、head -n 5 filename # 查看文件前5行内容

    、tail filename  # 查看文件最后10行内容

    、tail -n 5 # 查看最后5行内容

    、tail -f  # 刷新一个文件,不停的刷新,一般用来看日志有没有刷新

    、head -n 58 filename | tail  -n 16 # 显示文件内容,43-58行的内容

    、wc  # wc命令是用来统计的

    、wc filename  # 统计文件中有多少行,多少单词,多少个字符

    、wc -l  filename  #  统计文件中有多少行数

    、wc -w  filename  # 统计文件中单词书

    、wc -c filename  # 统计文件中字符数

    、history   # 查看输入命令的历史记录,然后每条命令都会有数字排序,如果需要重新输入其中的某一条,输入!+序号   PS:ctrl + r 输入命令的关键字回车,直接查询

    、pwd  # 查看当前所在的路径

    、cp /etc/test.txt .  # 将绝对路径下的文件拷贝到当前目录后面一个 . ,拷贝到上级目录就是 ..,拷贝到上级目录的上级目录就是 ../..

    、cp -p filename new_filename  # 维持当前权限拷贝复制文件

    、cp -r dirname new_dirname  # 递归拷贝目录,会将目下的所有子目录一起拷贝

    、cp -rp dirname new_dirname  # 维持当前权限递归拷贝目录

    、cp -a dirname new_dirname  # 和-rp一样

    、cp -rv dirname new_dirname  # 可以看到拷贝的过程

    、cp file new-file   # 拷贝一个文件内容到新的文件

    、alias  # 查看系统中指令的别名

    、for i  in {1..100};do echo line$i >>test.txt  # 使用for循环向文件中注入100行内容

    、touch filename  # 创建空文件,如果文件存在则更新时间戳

    、stat filename   # 查看文件的时间戳

    、mkdir name  # 创建文件夹

    、mkdir -p 123/456/789  # 递归创建目录,直接创建多层的目录,必须要有-p参数,-p就是创建子目录

    、mv file new-file  # 剪切文件

    、mv file /test  # 移动文件到指定目录

    、mv filename new_filename  # 修改文件的名字

    、mv dirname new_dirname  # 修改文件夹的名字

    、rm filename  # 删除文件

    、rm -rf dirname  # 强制删除目录,不用确认,直接递归全部删除

    、rm -r directory  # 删除目录,-r就是递归,递归用来删除目录,每删除一层会提示确认,也可以删除空目录

    、rmdir directory  # 删除空目录

    、ln haha.txt heihei.txt  # 硬链接,硬链接不可以链接到目录,只能链接文件

    、ln -s haha.txt heihei.txt  # 软连接,软连接可以连接到目录和文件

    、man ls , / -i    #查询命令帮助,打开后使用/ 进行关键字搜索,n继续搜索, shift + n 向上翻

    、man  5 filename  #查询文件帮助,文件必须指定5,5就是针对文件格式的

    、man passwd  # 出现的内容是passwd(1),就是查询的是命令相关的帮助

    、man -k passwd  #关键字查询,小范围查询,查询成功系统就会列出所有可以查询包含passwd的信息

    、man -K drop  #  在man的所有文件中查询关键字  当-k查询不到的时候可以尝试-K,如果没有则输入q回车继续下一个文件打开,查看man帮助敲回车,如果没有继续q退出,ctrl+d下一个文件

    、man  5  passwd   # 指定查看命令的文件

    、rpm -q httpd  # 查询这个软件包是否安装

    、rpm -qi httpd  # 查询这个软件包的摘要信息

    、rpm -qd  httpd  # q就是查询 d就是指文档,查询这个软件包中所有文档

    、rpm -ql  httpd   # 列出这个软件包中所有的文件安装路径,系统会列出这个软件下所有的文件,包括man帮助

    、rpm -qc httpd   # 列出这个软件包的所有配置文件路径

    、rpm -q --scripts httpd  # 显示软件包的脚本,查看脚本执行哪些操作

    、rpm -q --changelog httpd   #  显示软件包每次制作添加的功能

    、find / etc/ -name *.conf  1>ok.txt 2>err.txt   # 查找etc目录下所有文件后缀为err.txt的文件,正确的放入ok.txt文件中,错误的放入err.txt文件中

    、find /etc/ -name *.conf  2>/dev/null  # 只在屏幕上输出正确的,错误的放入黑洞文件null

    、find /etc/ -name *.conf 1>/dev/null  # 只在屏幕上输出错误的信息,正确的放入黑洞文件null

    、find /etc/ -name *.conf 1>/dev/null 2>>err.txt  # 两个>>就是追加的意思

    、find /etc/ -name *.conf &>/dev/null  # & 表示正确和错误都放入相同的文件中

    、cat httpd.conf | grep ^#  #读取httpd.conf文件的内容交给右边的grep(筛选)出所有#开头的内容

    、cat httpd.conf | grep  -v ^#  #读取httpd.conf文件的内容交给右边的grep(筛选)出所有不是#开头的内容,v就是反向筛选

    、cat httpd.conf | grep -v ^# | grep -v ^$  #读取httpd.conf文件的内容交给右边的grep(筛选)出所有不是#开头内容,然后交给后面的命令继续筛选出非空行的内容

    、cat httpd.conf | grep -v ^# | grep -v ^$  | grep -v ^"    #" # 读取httpd.conf文件的内容交给右边的grep(筛选)出所有不是#开头内容,然后交给后面的命令继续筛选出非空行的内容,再讲结果继续过滤出空格和#号的内容(需要过滤的空格有几个,就在命令的" "内输入几个空格和字符)

    、ls -l /etc | wc -l  # 计算一个目录下有多少个文件,有多少行就是有多少个

    、id   # id命令加上用户名,就可以查看当前账户的UID,所属的用户组,如果id不跟参数就是查看root用户

    、ps -a  # 显示当前terminal的进程信息

    、ps -u root # 显示指定用户信息

    、ps  -aux   # 查看所有进程的信息

    、ps -ef   # 查看所有进程信息,能够看到进程的父进程是谁,PPID就是父进程

    、su  # 切换用户,su - admin ,中间的 - 号就是将自己的环境变量加载,不加 - 号就会使用当前账户的环境变量

    、sudo passwd admin  # 修改admin的密码

    、sudo -i  # 切换成root用户

    、chattr +i filename  # 给文件添加特殊标记后root用户无法删除

    、chattr -i filename  # 将特殊标记去除

    、useradd -u username  # 创建用户,默认创建同名用户组

    、useradd -u username -g groupname  # 创建用户,但是不会创建同名的用户组,会加入指定的用户组

    、useradd -u username -G groupname  # 创建用户,默认创建同名用户组,会作为附属组加入指定的用户组

    、useradd admin -s /sbin/nologin  # 新建用户但是无法使用此账户登录

    、useradd admin  -u 3456   # 设定用户的UID号

    、userdel admin  # 删除用户,但是没有删除家目录

    、userdel -r admin  # 删除用户包括家目录,-r就是递归的意思

    、usermod -s /sbin/nologin admin  # 禁止用户登录

    、usermod admin -s /bin/bash  # 让用户可以登录

    、usermod admin -G wheel  # 将一个用户加入wheel组

    、passwd admin # 设置密码,普通用户只能修改自己的密码,root用户可以修改所有用户的密码

    、groupadd groupname  # 创建组

    、groupdel groupname  # 删除组

    、chage -l admin   # 查看账户的密码信息,包括修改时间,生命周期

    、chage  admin # 设置账户密码的生命周期等,系统会进行引导设置,可用-h查看后单独设置

    、sudo usermod -L admin   # 锁住admin用户

    、sudo usermod -U admin   # 解锁admin用户

    、usermod -s /sbin/nologin admin   #账号作为系统服务账号,但是并不能登录操作系统

    、chmod  u+x  filename.txt     # 设置文件所属用户的权限

    、chmod  u- rwx filename.txt   #  去除文件所属用户的权限

    、chmod  -R ugo+x  dirname   #  目录设定权限,R是递归携带这个参数就是目录下所有的文件和目录都改变权限

    、chmod  -R o+X  dirname   #  目录设定权限,R是递归携带这个参数就是目录下所有的文件都改变权限,权限变成大写后就是只对目录改变权限,并不会对文件改变权限

    、chown  admin:admin filename.txt   # 设定文件所属用户和组

    、chown  admin filename.txt   # 设定文件所属用户

    、chown  :admin filename.txt   # 设定文件所属组

    、env  # 查看系统环境变量

    、alias  # 查看命令的别名

    、alias test="ps axo pid,ppid,comn"  # 设置命令别名,有时候命令太长但是使用率高,设置别名有利于记忆和使用

    、ps axo pid,ppid,comn  # 查看和命令相关的进程号

    、ps axo pid,ppid,comn,psr | grep httpd  # 查看相关程序的进程关系,可以直接看到最顶端的父进程

    、usermod -s /sbin/nologin admin # 禁止用户登录

    、pstree  # 查看进程树

    、pidof 进程名  # 查看这个进程名字所有相关的进程

    、kill -1 进程号  # 对这个进程重新加载配置文件

    、kill -15 进程号  # 正常退出进程,先保存后退出

    、kill -9 进程号  # 强制退出不保存

    、kill all 进程名  # 杀死此进程名所有相关的进程

    、top  # 查看系统的负载情况

    、shift  p  # 在top下,根据cpu占用率进行排序

    、shift  M  # 在top下,根据内存暂用率从大到小排序

    、ls cpu  # 可以看到cpu的数量

    、cat /proc/cpuinfo  # 从内核信息文件中查看cpu数量,这个最准确

    、chmod u + s # 文件设置特殊权限suid,也可以使用十进制数设置,chmod 4775 filename

    、chmod u - s  # 文件取消suid

    、chmod g + s  # 文件 / 文件夹 设置特殊权限sgid,文件夹也可以使用十进制数设置,chmod 2775 dirname

    、chmod g - s  # 文件 / 文件夹取消sgid

    、chmod 0 + t  # 文件设置特殊权限sbit,使用十进制数设置,chmod 1777 dirname

    、systemctl list-units  # 列出系统中所有的units

    、systemctl list-units | grep ssh  # 列出系统中所有的units并且过滤出ssh服务,可以查看ssh是否启动

    、systemctl  # 加载所有已经激活的服务,未激活运行的服务不会显示

    、systemctl status  sshd  # 查看相关的服务运行状态

    、systemctl enable / disable sshd  # 设置开机启动或不启动 

    、systemctl mask / unmask sshd  # 服务开启遮罩或取消遮罩

    、systemctl isolate graphical.target  # 进入图形化桌面

    、systemctl isolate multiuser.targer  # 进入文字界面

    、power off  / init 0 # 关机

    、reboot / init 6 # 重启系统

    、systemctl set-default multi-user.target graphical.target  # 开机默认进入图形化界面

    、systemctl get-default  # 查询默认开机的界面方式

    、systemd-analyze blame  # 查看开机所有服务启动所花费的时间

    、systemctl list-dependencies sshd  # 查看程序服务依来关系图

    、systemctl list-dependencies sshd --reverse  # 查看反向依赖关系图

     、cat /var/log/message |grep -i error  # 不区分大小写的过滤出所有error的日志信息

    、journalctl  # 显示所有启动时候早期的日志,包括硬件初始化的日志

    、journalctl -e  #查看数据库中最后的日志

    、journalctl  -f  # 动态刷新日志

    、journalctl  -p  err # 查看系统中error级别以上的日志,以红色表示

    、journalctl  -u  sshd  # 查看相关服务的日志

    、journalctl  -p  err -u  sshd # 日志筛选,结构化的查询

    、timedatectl # 查看时区

    、tzselect  # 选择时区的命令,输入后选择时区后回提示使用设定的时区进行设置

    、timedatectl set-timezone Asia/Shanghai  # 设置时区

    、chronyc sources -v # 查看ntp服务的配置,可以看到时间服务器的地址

    、ip link  # 查看网卡信息,可以看到link链路层(二层)的信息

    、ip address show  # 可以缩写ip a s ,查看网卡信息,可以看到三层的信息,MAC地址信息

    、ip -s link show  # 可以查看网络性能,收发包的统计信息

    、ip route  # 可以看到网关地址

    、rout -n # 也可以看到网关地址,更详细,可以看到什么地址到达那个网关

    、tracepath hostname  # 查看主机路由条数

    、netstat -tunpla  # 查看所有连接的状况,参数中t表示tcp、u标书udp、n表示将已知端口用数字表示、p表示pid、l表示监听状态、a表示非监听状态下也表示

    、nmcli device  show # 列出所有的名称

    、nmcli connection show # 可以看到网卡信息,名称,UUID,类型

    、nmcli connection reload “网卡名称” # 重新载入网卡配置

    、ethtool 网卡名称  # 可以查看网卡接口的速率,是千兆还是百兆

    、nmtui  # 可视化的网络配置界面

    、nmcli conn show  # 列出所有连接

    、nmcli conn show name  # 列出name连接的当前设置

    、nmcli dev disconnect name(nmcli dev dis dev)  # 断开连接,这个是从硬件层面彻底的断开

    、nmcli con up name  # 激活name连接

    、nmcli dev status # 显示所有网络接口的Networkmanager状态

    、nmcli con add con-name name  # 添加一个名为name的新连接

    、nmcli con mod name # 修改name连接

    、nmcli con reload  # 重新加载配置文件

    、nmcli  con del name  # 删除name连接及其配置文件

    、man nmcli-examples  # 查看man帮助

    、hostnamectl # 查看主机的基本信息,包括架构,内核kernel版本等

    、hostnamectl set-hostname  主机名 #  这个会默认修改/etc/hostname中的主机名

    、nslookup 主机名  # 查看到DNS解析地址和DNS服务器地址

    、du -sh /etc  # 查看指定目录大小

    、dd if=/dev/zero of=1.img bs=1M count=1024  # 在dev/zero目录下创建一个1G的文件

    、which 软件名  # 查看软件安装目录

    、rmp -qa  # 列出系统中所有安装的软件包

    、rpm -qc 软件名  #  查看所有的安装文件路径

    、rpm -qd  # 查看所有的文档

    、rpm -q --scripts 软件名  # 可以查看脚本,在安装前需要做什么

    、rpm -q --changelog 软件名  # 可以查看更新日志

    、rpm -qf 文件名# 可以查看文件来自于哪个软件包,只能查询已存在的文件

    、rpm -qp --scripts  软件包名 # 可以查看安装前 执行的脚本

    、rpm -qpl --scripts 软件包名 # 列出软件包中所有文件名

    、rpm -qpc --scripts 软件包名 # 查看软件包的配置文件,如果有则可以看到

    、rpm -ivh 软件包名 # 安装rpm软件包

    、rpm -Uvh  # 升级软件包

    、rpm -e 软件包名 # 升级软件

    、yum list # 列出yum仓库中所有的软件

    、yum search 软件包名 # 搜索指定软件包

    、yum whatprovides 文件名 # 查看文件来自于哪个软件包,如果未安装软件也能查询,从yum数据库中查询

    、yum repolist  # 列出所有的仓库

    、yum claen all #清空所有yum缓存,yum仓库有索引缓存,配置新yum仓库后要清理缓存

    、yum makecache # 生成yum缓存

    、yum install -y 包名  # 安装软件包

    、yum localinstall -y 包名  # 安装本地软件包,使用yum自动安装依赖关系

    、yum update -y 包名 # 升级软件包

    、yum update -y  # 升级所有软件包,也会升级操作系统

    、yum remove -y 包名 # 卸载软件包,但是不会卸载依赖关系

    、yum grouplist  #  列出包组

    、yum groupinstall ''包组名'' # 安装包组,包组名可也以用@包组名,使用@代替 “ ”

    、yum groupremove "包组名"  # 卸载包组

    、yum history  # 查看敲过的yum 命令

    、tail -n1 /etc/fstab  # 查看永久挂载配置信息

    、dd if=/rhel8.iso of=/dev/sdd bs=4M  # 用u盘使用镜像做一个启动盘安装系统

    、df -h # 查看磁盘空间情况,挂载情况,为增加可读性可以使用h或者H,h的单位是Kib、Mib。H的单位显示是KBMBGB

    、lsblk # 查看磁盘空间情况、挂载情况等,使用树状结构显示

    、lsblk -fp  #列出设备的完整路径,其UUID和挂载点

    、du -h # 查看当前目录下文件的尺寸

    、du -sh /etc # 查看目录的大小

    、lsscsi # 列出主机中的硬盘

    、lsscsi -v # 列出主机中的硬盘详细信息,参数v可以是vv也可以是vvv,没多一个v详细信息就更多

    、mount UUID="7d739626-58b3-4e86-9e2a-b09e9af23502" /mnt/test  # 使用uuid挂载目录

    、umount /test  # umount 后面可以跟设备名,也可以直接跟挂载的目录

    、blkid # 查看文件系统的uuid、类型

    、lsof /mnt/test  # 列出目录下访问连接,可以查看谁在打开文件或目录

    、locate 文件名 #从mlocate数据库中查找指定的文件路径

    、locate -i 文件名 #不区分大小写的查询

    、locate -n 5 文件名 # 限制返回的结果数量,如5就是只显示前5条

    、find /-size +1G # 搜多所有大于1G的文件

    、find -size 10M # 查找所有等于10M的文件

    、find -size -10M # 查找所有小于10M的文件

    、find -mmin 120  # 查找所有过去120分钟被修改过的文件

    、find -mmin +120  # 查找修改超过120分钟被修改过的文件

    、find -mmin -120  # 查找修改未超过120分钟被修改过的文件

    、find  /etc -type d  #  type选项后面跟d表示搜索范围限制为目录

    、find  /etc -type f  #  type选项后面跟f表示搜索范围限制为文件

    、find  /etc -type l  #  type选项后面跟l表示搜索范围限制为软连接

    、find  /etc -type b  #  type选项后面跟b表示搜索范围限制为块设备

    、find / -user 用户名 # 搜索根目录下(/),所有属于自定用户的文件

    、find / -user 用户名 -exec cp -a {} /backup ;  # 搜索根目录下指定用户的所有文件,进行exec二次加工,-a就是带着权限和子目录一起拷贝,{}表示只带搜索到的所有文件,拷贝到指定的目录,;表示关闭

    、find / -name 文件名  # 查询根目录下指定文件的路径(/表示根目录,也可以指定目录查询),文件名可以使用正则 '*文件名*'

    、find / -iname 文件名 # 对文件名不区分大小写的搜索,文件名也可以使用正则‘*文件名*’

    、find / -user root -group mail 文件名 # 搜索用户是root并且所属组是mail的文件

    、echo $PATH  # 查看系统环境变量的路径,echo命令可以显示任意文本内容

    、which ls # 查看命令或者文件再那个路径下

    、touch  test.txt  # 创建空文本

    、test  # 用来测试脚本

    、at now + 5min # 创建单次计划任务(5分钟之后)

    、teatime tomorrow # 创建单次计划任务(下午16点)

    、noon + 4days  # 创建单次计划任务(4天之后的中午12点)

    、5pm august 3 2021 # 创建单次计划任务(2021年8月3日下午5点)

    、at -l / atq # 列出当前所有的计划任务

    、at -c number # 查看单次计划任务的详细信息 

    、atrm 1  # 删除指定序号的单次计划任务

    、crontab -l # 查看当前用户的周期性计划任务

    、crontab -r # 删除当前用户的周期性计划任务

    、crontab -e  # 就会打开一个文本开始编辑开始定义周期性计划任务

    、crontab -eu 用户名  # root账户为普通用户定义计划任务

    、0 6 * * * systemctl restart httpd  # 0分6小时 每天每月每周的每天,就是每天早上6点重启apache

    、30 6 * * * systemctl restart httpd  # 就是每天早上6点30重启apache

    、30 6 15,30 * * systemctl restart httpd # 每个月15号和30号早上6点半重启apache服务

    、30 6 */10 * * systemctl restart httpd # 每隔十天重启一次服务

    、30 6 1 1 * systemctl restart httpd # 每年的1月1号重启服务

    、30 6 * * 7 systemctl restart httpd # 每个周日重启服务,星期中日可以用7、0、sun表示

    、30 6 1 * 7 systemctl restart httpd  # 逢周日或每月第一天早上6点30重启服务

    、30 6 * * 1-5 systemctl restart httpd # 每周1-5重启服务

    、0,30 * * * * echo 3 > /proc/sys/vm/drop_caches  # 每隔半小时清空系统缓存

    、* 9-17/2 * * * echo 3 > /proc/sys/vm/drop_caches  # 工作日的每天9-17点,隔两小时清空一次缓存

    、systemctld daemon-reload # 重新加载配置文件

    、ps axo pid,comm,nice,cls --sort=-nice  # 查看nice值等信息,cls就是调度策略,TS针对的就是SHCED_NORMAL

    、getfacl filename  # 查看文件的acl信息

    、getfacl 目录名 # 查看目录的ACL

    、getfacl .  # 命令后面跟 . 就是查看当前目录的ACL

    、setfacl -m u:root:---- test.txt  # 给文件设置ACL

    、setfacl -Rm d:u:name:rwX # 设置目录的默认ACL

    、setfacl -Rm u:name:rwX 目录名  # 设置目录的ACL

    setfacl a.txt | setfacl --set-file=- b.txt  # 通过查看A文件的ACL然后设置到B文件

    、getenforce  # 查看SELinux当前状态(模式)

    、setenforce 1 # 设置SELinux 的模式为Enforcing 强制模式

    、setenforce 0 # 设置SELinux 的模式为Permissive 宽容模式

    、blkid  # 查看磁盘的信息,包括uuid,类型等

    、yum whatprovides 命令 # 查找命令来自于那个软件包

    、set nu  # 在vim编辑时候可以显示行数

  • 相关阅读:
    利用JBoss漏洞拿webshell方法
    jboss漏洞导致服务器中毒
    dubbo bug之 Please check registry access list (whitelist/blacklist)的分析与解决
    将list转为json字符串
    MySQL语句给字段值加1
    java int怎么转换为string
    HttpURLConnection如何添加请求头?
    eclipse下载egit插件,实现代码git同步问题
    eclipse编译项目用maven编译问题
    fastjson将java list转为json字符串
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/11789384.html
Copyright © 2020-2023  润新知