2021-09-24 Linux常见命令整理

firewalld-cmd

# 安装firewalld
yum install firewalld firewall-config

systemctl start  firewalld # 启动
systemctl status firewalld # 或者 firewall-cmd --state 查看状态
systemctl disable firewalld # 停止
systemctl stop firewalld  # 禁用

# 使用iptabls
systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl start iptables
systemctl enable iptables

# 查看设置:
firewall-cmd --state  # 显示状态
firewall-cmd --get-active-zones  # 查看区域信息
firewall-cmd --get-zone-of-interface=eth0  # 查看指定接口所属区域
firewall-cmd --panic-on  # 拒绝所有包
firewall-cmd --panic-off  # 取消拒绝状态
firewall-cmd --query-panic  # 查看是否拒绝

firewall-cmd --reload # 更新防火墙规则

# 显示服务列表
firewall-cmd --get-services

# 允许ssh访问
firewall-cmd --enable service=ssh
# 禁止ssh访问
firewall-cmd --disable serivce=ssh

# 添加HTTP服务到内部区域(internal)
firewall-cmd --permanent --zone=internal --add-service=http
firewall-cmd --reload     # 在不改变状态的条件下重新加载防火墙

# 打开tcp的8080端口
firewall-cmd --enable ports=8080/tcp

# 打开443/TCP端口
firewall-cmd --add-port=443/tcp

# 永久打开3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp

# 永久打开端口需要reload一下,临时打开不用,如果用了reload临时打开的端口就失效了
firewall-cmd --reload

# 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all

# 根据服务开放端口
firewall-cmd --add-service=mysql        # 开放mysql端口
firewall-cmd --remove-service=http      # 阻止http端口
firewall-cmd --list-services            # 查看开放的服务
firewall-cmd --add-port=3306/tcp        # 开放通过tcp访问3306
firewall-cmd --remove-port=80tcp        # 阻止通过tcp访问3306
firewall-cmd --add-port=233/udp         # 开放通过udp访问233
firewall-cmd --list-ports  

文件&目录

ls :展示文件目录

-a :展示所有文件,包括隐藏文件
-l :展示文件详细类型
-d :展示目录

cd :切换工作目录

cd .. :返回上级
cd /etc :切换指定目录
cd ~:返回当前登录用户主目录
cd ~用户名 :切换指定用户的主目录
cd - :回到上次目录

pwd :展示工作目录

mkdir :创建目录

-m :创建目录时,设置默认权限,默认为755
-p :无上级目录,一并创建

touch :命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件

cp :拷贝文件

-f :若文件存在,直接覆盖
-i :存在文件会先询问
-p :会复制访问权限和修改时间
-r :复制的为目录时,会复制改目录下的所有文件和文件夹

mv :重命名文件或者移动至另外一个目录

-f :若文件存在,直接覆盖
-i :存在文件会先询问

rm :删除文件

-f :强制删除,可带通配符
-r :删除所有文件和目录
-i :删除会询问

cat :查看文件内容

which :查看应用程序位置

whereis :在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件

grep :查找文件里符合条件的字符串

-a 或 --text :不要忽略二进制的数据
-i 或 --ignore-case :忽略字符大小写的差别
-l 或 --file-with-matches :列出文件内容符合指定的样式的文件名称
-L 或 --files-without-match :列出文件内容不符合指定的样式的文件名称
-v 或 --invert-match :显示不包含匹配文本的所有行

gzip :文件压缩/解压

-d :解压
-n :指定压缩比1-9,默认为6
-c :把压缩后的文件输出到标准输出设备,不去更动原始文件

tar :文件压缩/解压

-c :建立压缩档案 
-x :解压 
-t :查看内容 
-r :向压缩归档文件末尾追加文件 
-u :更新原压缩包中的文件
-z :有gzip属性的 
-j :有bz2属性的 
-Z :有compress属性的 
-v :显示所有过程 
-O :将文件解开到标准输出 
-f :使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名 
# 不同压缩对应详解
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 解压

find :指定目录下查找文件

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
# 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
find . -name "*.c"
# 将当前目录及其子目录中的所有文件列出
find . -type f
# 将当前目录及其子目录下所有最近 20 天内更新过的文件列出
find . -ctime -20
# 查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们
find /var/log -type f -mtime +7 -ok rm {} \;
# 查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find . -type f -perm 644 -exec ls -l {} \;
# 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径
find / -type f -size 0 -exec ls -l {} \;

mkfs(英文全拼:make file system):命令用于在特定的分区上建立 linux 文件系统

device : 预备检查的硬盘分区,例如:/dev/sda1
-V :详细显示模式
-t :给定档案系统的型式,Linux 的预设值为 ext2
-c :在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小

# 示例
# 在 /dev/hda5 上建一个 msdos 的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来 :
mkfs -V -t msdos -c /dev/hda5
# 将sda6分区格式化为ext3格式
mkfs -t ext3 /dev/sda6 

文件权限

ls -l
total 0
drwxr-xr-x. 3 root root 15 Aug 23 14:17 b

# 第一个属性解析 [目前b是一个目录]
d :则是目录
- :则是文件;
l :则表示为链接文档(link file);
b :则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
c :则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

# 其余参数解析,剩下为三三一组,没有对应权限则为-
r :表示可读
w :表示可写
x :表示可执行

chown :修改用户所属用户组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

chgrp :更改文件属组

chgrp [-R] 属组名 文件名

chmod:更改文件属性

chmod [-R] ugo 文件或目录

r :4
w :2
x :1

# ugo 代表每种身份(user/group/others)各自的三个权限(r/w/x)分数的累加

时间

date

-u :显示CMT
--help :在线帮助
--version :显示版本信息

# 日期时间格式

%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)

用户&用户组

whoami :打印当先有效用户名称

users :显示当前登录系统的所有用户

useradd :添加用户账号

useradd 选项 用户名

-c :comment 指定一段注释性描述。
-d :目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g :用户组 指定用户所属的用户组。
-G :用户组,用户组 指定用户所属的附加组。
-s :Shell文件 指定用户的登录Shell。
-u :用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

userdel :删除用户账号

userdel 选项 用户名

-r :把用户和主目录一起删掉

usermod :修改用户账号

usermod 选项 用户名

-c :comment 指定一段注释性描述
-d :目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
-g :用户组 指定用户所属的用户组
-G :用户组,用户组 指定用户所属的附加组
-s :Shell文件 指定用户的登录Shell
-u :用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号

passwd :用户指令

passwd 选项 用户名

-l :锁定口令,即禁用账号
-u :口令解锁
-d :使账号无口令
-f :强迫用户下次登录时修改口令

groupadd :新增用户组

groupadd 选项 用户组

-g :GID 指定新用户组的组标识号(GID)
-o :一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

groupdel :删除用户组

groupdel 用户组

groupmod :修改用户组

groupmod 选项 用户组

-g :GID 为用户组指定新的组标识号
-o :与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同
-n :新用户组 将用户组的名字改为新名字

newgrp :切换用户组

/etc/passwd文件

at /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
yunshan:x:1000:1000:yunshan:/home/yunshan:/bin/bash
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

# 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

磁盘

df :检查文件系统的磁盘空间占用情况

df [选项] [目录或文件名]

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

du :对文件和目录磁盘使用的空间的查看

du [选项] 文件或目录名称

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已
-h :以人们较易读的容量格式 (G/M) 显示
-s :列出总量而已,而不列出每个各别的目录占用容量
-S :不包括子目录下的总计,与 -s 有点差别
-k :以 KBytes 列出容量显示
-m :以 MBytes 列出容量显示

fdisk :磁盘分区表操作工具

fdisk [选项] 装置名称

-l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来

mkfs :磁盘格式化

mkfs [-t 文件系统格式] 装置文件名

-t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)

fsck :磁盘校验

fsck [-t 文件系统] [-ACay] 装置名称

-t :给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s :依序一个一个地执行 fsck 的指令来检查
-A :对/etc/fstab 中所有列出来的 分区(partition)做检查
-C :显示完整的检查进度
-d :打印出 e2fsck 的 debug 结果
-p :同时有 -A 条件时,同时有多个 fsck 的检查一起执行
-R :同时有 -A 条件时,省略 / 不检查
-V :详细显示模式
-a :如果检查有错则自动修复
-r :如果检查有错则由使用者回答是否修复
-y :选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 fsck -y 全部检查修复

mount :磁盘挂载

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n]  装置文件名  挂载点


umount :磁盘卸除

umount [-选项] 装置文件名或挂载点

-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下
-n :不升级 /etc/mtab 情况下卸除

vim/vi编辑器

# 插入模式 [i]
ctrl + f/Page Down :下一页
ctrl + b/Page Up :上一页
+ :光标移动到非空格符的下一行
- :光标移动到非空格符的上一行
0/Home :移动光标到本行最前
$/End :移动光标到本行最后
H :光标移动到第一行
L :光标移动到最后一行
n<Enter> :向下移动多少行
/test :从光标往下搜索test字符串
?test :从光标往上搜索test字符串
d1G	:删除光标所在到第一行的所有数据
dG	:删除光标所在到最后一行的所有数据
d$	:删除游标所在处,到该行的最后一个字符
yy	:复制游标所在的那一行(常用)
nyy	:n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20(常用)
y1G	:复制游标所在行到第一行的所有数据
yG	:复制游标所在行到最后一行的所有数据
y0	:复制光标所在的那个字符到该行行首的所有数据
y$	:复制光标所在的那个字符到该行行尾的所有数据
J	:将光标所在行与下一行的数据结合成同一行
c	:重复删除多个数据,例如向下删除 10 行,[ 10cj ]

# 命令模式 [ESC]
i :切换到输入模式,以输入字符
x :删除当前光标所在处的字符
: :切换到底线命令模式,以在最底一行输入命令

# 底线模式[ESC : ]
:w	:将编辑的数据写入硬盘档案中(常用)
:w!	:若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q	:离开 vi (常用)
:q!	:若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
set nu	:显示行号,设定之后,会在每一行的前缀显示该行的行号
set nonu :与 set nu 相反,为取消行号!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值