Linux的常用命令
防火墙的基本命令
firewall-cmd --state:显示防火墙状态
systemctl start firewalld:启动防火墙
systemctl stop firewalld:关闭防火墙
systemctl disable firewalld:禁止防火墙开机启动
查看和切换目录的基本命令
ls:显示当前目录下文件
ls 目录名:显示指定目录下文件
ls -l:长格式显示目录文件
ls -l 文件名:长格式显示指定文件
ls -a:显示所有文件(包含隐藏文件)
ls -al:长格式显示当前目录下所有文件
cd /:进入根目录
cd /home:进入用户的家目录(~也代表用户的家目录)
cd /usr/games:进入子路径
cd ~.:进入当前用户的家目录
cd ..:退出到上一层目录
cd -:切换上一个所在的目录
pwd:查看当前所在的目录
增删改查目录的基本命令
mkdir 文件夹名:当前目录下创建文件夹
mkdir 路径:创建指定路径文件夹
mv oldName newName:修改文件夹名
rm 文件/:删除文件
rm -f 文件:强制删除文件
rm -r 文件夹:删除文件夹
rm -rf 文件夹:强制删除文件夹
cp 文件 路径:拷贝文件
cp -r 文件夹 路径:拷贝文件夹
操作文件的基本命令
touch 文件名:创建文件
cat -n 文件名:查看文件内容(列出行号)
more 文件名:查看文件(显示百分行,回车下一行,空格翻下一页,按q键退出)
less 文件名:查看文件(按pgup和pgdn键翻上下页,按q键退出)
head -数字 文件名:查看文件前(数字)行(ctrl+c强制终止查看模式,ctrl+l清屏)
tail -数字 文件名:查看文件后(数字)行
tail -f 文件名:监控文件
文本数据操作的基本命令
vi 文件名:编辑文件
字母说明
+n:代表第几行
::代表最后一行
i:进入编辑模式
esc:退出编辑模式
cut 文件:显示切割的行数据
字母说明
-f:选择显示的列
-s:不显示没有分割符的行
-d:自定义分隔符
sort 文件:排序文件的行
字母说明
-n:按数值排序
-r:倒序
-t:自定义分隔符
-k:选择排序列
-u:合并相同行
-f:忽略大小写
sed 文件:行编辑器
字母说明
d:删除符合条件的行
p:显示符合条件的行
a \string:在指定的行后面追加断行,内容为string
i \string:在指定的行前面追加断行,内容为string
r FILE:将指定的文件的内容添加至符合条件的行处
w FILE:将地址指定的范围内的行另存至指定的文件中
s/pattern/string/:查找并替换,默认只替换每行中第一次被模式匹配到的字符串
g#pattern#string#:行内全局替换
i@pattern@string@:忽略字符大小写
awk -F '{pattern + action}' 文件:支持自定义分隔符、正则表达式匹配、自定义变量和数组、内置变量、函数和流程控制语句
内置变量
ARGC:命令行参数个数
ARGV:命令行参数排列
ENVIRON:支持队列中系统环境变量的使用
FILENAME:awk浏览的文件名
FNR:浏览文件的记录数
FS:设置输入域分隔符,等价于命令行-F
NF:浏览记录的域的个数(列数)
NR:已读的记录数(行数)
OFS:输出域分隔符
ORS:输出记录分隔符
RS:控制记录分隔符
函数
print、split、substr、sub、gsub
流程控制语句
if、while、do/while、for、break、continue
解压和压缩的基本命令
tar -xvf *.tar:解压tar包
tar -cvf *.tar *.*:压缩tar包
tar -xzvf *.tar.gz:解压tar.gz
tar -czvf *.tar.gz *.*:压缩tar.gz
tar -xjvf *.tar.bz2:解压tar.bz2
tar -cjvf *.tar.bz2 *.*:压缩tar.bz2
tar -xZvf *.tar.Z:解压tar.Z
tar -cZvf *.tar.Z:压缩tar.Z
unrar e *.rar:解压rar
rar a *.rar *.*:压缩rar
unzip *.zip:解压zip
zip *.zip *.*:压缩zip
字母说明
-c:建立压缩档案
-x:解压文件
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
-z:调用gzip命令进行压缩
-v:显示运行过程
-f:指定文件名
搜索文件的命令
whereis 指令名:查找二进制文件、源文件和帮助手册文件
locate 字符串或文件:查找的文件名中含有的字符串
find 目录 -name 文件名:从目录开始搜索目标文件和目录
字母说明
-name 文件名:按照文件名查找
-user 用户名:按照属主用户名查找文件
-group 组名:按照属组组名查找文件
-nouser:找没有属主的文件(除了这三个文件:/proc、/sys、/mnt/cdrom)
-size:按照文件大小
-type:按照文件类型查找(f=普通 d=目录 l=链接)
-perm:按照权限查找
-iname:按照文件名查找,不区分大小写
grep 字串 文件:从文件里显示匹配行
字母说明
-v:反显示
-e:用正则表达式
匹配操作符
\:转义字符
.:匹配任意单个字符
[a-k]:字符序列单字符占位
^:行首
$:行尾
\<,\>:单词首尾边界
|:连接操作符
(,):选择操作符
\n:反向引用过
重复操作符
?:匹配0到1次
*:匹配0到多次
+:匹配1到多次
{n,m}:匹配n到m次
查看进程的命令
ps -A:显示所有进程信息
ps -u 用户:显示指定用户信息
ps -ef:显示所有进程信息,连同命令行
ps -ef | grep 进程名:查找特定进程
ps aux:列出目前所有的正在内存当中的程序
软件包的命令
yum search 指令名:查找软件包
yum install 指令名:安装指定的软件包
yum update 指令名:更新指定的软件包
yum remove 指令名:移除指定的软件包
yum list:列出当前系统中安装的所有包
权限操作的命令
chmod 权限 文件:修改文件的权限
chown -R 用户 文件:修改用户对文件的权限
vi /etc/sudoers:通过修改配置文件的权限来修改用户权限
字母说明
-:普通文件
d:目录文件
l:链接文件
r:读 4
w:写 2
x:执行 1
用户和群组操作的命令
groupadd 群组名:创建一个新用户组
groupdel 群组名:删除一个用户组
useradd 用户名:添加用户
password 用户名:添加和修改用户的密码
su 用户名:切换用户
userdel 用户名:删除用户
userdel -r 用户名:删除一个用户(“-r”排除主目录)
usermod -a -G 组名 用户名:将用户移到该组
其它常用的命令
man:查看命令的帮助
--help:查看命令的帮助
vi /etc/hostname:永久修改主机名
scp -r 文件位置 机器的IP地址:路径:发送文件到其他机器
ssh-keygen:生成密钥对
ssh-copy-id IP地址(机器名):配置SSH免密登录(先自己后别人)