Linux 常用命令
Linux 常用命令:
命令基本格式:
cmd[options][arguments]
系统命令:
cmd --help 帮助命令
man cmd 帮助命令
shutdown 关机
-k +5 在5分钟之后关机 message 输出的信息
-h 关机 now 现在关机 21:39 指定时间关机
reboot 重启
date 系统时间
cal 日历 -y 全年日历
su 切换用户 su -diandian 切换到点点用户
passwd 更改用户密码 passwd diandian
clear 清屏
who 查询有哪些用户登录虚拟机
pkill -KILL -t 将用户移除虚拟机 pkill -KILL -t diandian
uname -a 显示虚拟机的内核版本
logout 注销
常用的文件类型:
- 普通文件
d 目录
l 符号连接
c 字符设备文件
b 块设备文件
s 套接字
p 管道
基本命令:
ls 查看目录 ll 查看所有文件详细信息 -a 查看包括隐藏文件 -al 合并全面2个内容
pwd 显示当前全路径
cd 进入指定目录
mkdir 创建指定名称的目录 -p 创建树形目录 mkdir -p aa/bb/cc
touch 创建指定名称的文件
rmdir 删除指定名称的目录
cat 查看指定名称文件的内容
file 查看指定名称文件的类型
rm 删除文件或目录 -rf 级联删除
mv 移动文件或目录
cp 复制文件或目录 cp aa.txt test 将aa.txt复制到test文件目录下
chmod 修改文件权限 chmod 751 aa // 751:- rwx r-x --x
文件权限:
r 读权限 4
w 写权限 2
x 执行权限 1
每一个文件的属性信息:
1.文件名称
2.文件最后一次修改的时间
3.文件的长度
4.对于文件而言是硬连接数,对于目录而言是包含的子目录
5.表示文件的拥有者
6.表示文件的组拥有者
7.文件的权限
- rwx r-x r-- 1 root root 10739 Dec 23 13:31 score
(7) (4) (5) (6) (3) (2) (1)
对应权限之和:
- 0 x 1 w 2 r 4
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7
编辑文本命令:
vi: linux系统缺省使用的文本编辑器
i/a/o 输入模式
esc 命令模式
:wq 保存退出
:q! 强制退出
:q 普通退出
Emacs: 用于编辑程序源代码文件的文本编辑器
nano: 在字符界面提供了菜单操作,易用性较好
gedit: GNOME图形环境中的文本编辑器
系统查找命令:
which whereis locate find
vi/vim 编辑器的使用:
vi [FileName] 打开指定文档
命令模式下:
/[argument] 查找指定的参数在文档中出现的位置 n 向下继续查找 N 向上查找
10,20s/[argument]/[argument2]/g 在10行到20行之间查找指定的argument参数,并替换成argument2
x 往后删除 X 往前删除 输入数字后按下x 删除【数字】个字符
Linux进程查看命令:
静态: ps -l ps aux
动态:top
echo:查看变量值
path="$PATH"[text] 在$path变量后面追加内容
read [变量名] 相当于java里的System.in,,输入内容
-p [info] 添加提示信息
-t [time] 增加一个输入限制时间,如果时间内没有输入,则直接跳回命令界面
declare 定义变量类型
默认 String 类型
-i 定义int 类型
-x 让自定义的变量变成环境变量
+x 取消该自定义的环境变量
alias 给命令取别名,也可以给组合命令取别名
unalias 取消别名
history 历史使用过的命令
Linux命令运行的顺序:
1.以相对或绝对路径执行指令 如/bin/ls
2.由alias找到该命令来执行
3.由base内建指令来执行
4.通过$PATH这个变量的顺序找到的第一个命令执行
Linux编写shell的习惯:
1.shell script的功能
2.shell script的作者
3.shell script的版本信息
4.shell script的历史记录
Linux test命令的测试 ( test -e filename ) :
通过 echo $? 来回传查处的boolean结果 0为true 1为false
-e 该文档是否存在
-f 是否存在且为文件
-d 是否存在且为目录
-b 是否存在且为一个 block device 装置
-c 是否存在且为一个 character device 装置
-S 是否存在且为一个 socket 档案
-p 是否存在且为一个 FIFO 档案
-l 是否存在且为一个连结党
-r 是否存在且具有可读权限
-w 是否存在且具有可写权限
-x 是否存在且具有可执行权限
-u 是否存在且具有SUID属性
-g 是否存在且具有SGID属性
-k 是否存在且具有Sticky bit 属性
-s 是否存在且为非空白文件
Linux if elif ... else fi语法:
if [ 条件判断表达式 -o/-a 条件判断表达式 ]; then // -o or -a and
条件成立时的相关指令
fi
if [ 条件判断表达式 ]; then
条件成立时的相关指令
elif [ 条件判断表达式 ]; then
条件成立时的相关指令
else
条件成立时的相关指令
fi
Linux case...esac 语法:
case [变量] in
[变量值] )
相关指令 ;;
[变量值] )
相关指令 ;;
* )
相当于switch里的default ;;
esac
Linux while/until 循环语法:
while [条件判断]
do
相关指令
done
until [条件判断]
do
相关指令
done
Linux for循环语法:
for var in con1 con2 con3 ...
do
相关指令
done
for (( 初始值;条件;循环步骤 ))
do
相关指令
done
Linux 压缩解压:
gzip:
gzip -v [文件名] --压缩该文件
gzip -l [文件名] --查看该压缩文件
gzip -d [文件名] --解压该文件
gzip -9 -c [原文件名] > [压缩文件名] --压缩该文件,并保留源文件
bzip2:
bzip2 -z [文件名] --压缩成后缀名为bz2的文件
bzip2 -d [文件名] --解压后缀名为bz2的文件
bzip2 -9 -c [原文件名] > [压缩文件名] --压缩后缀名为bz2的文件,并保留源文件
zip:
zip [压缩后的文件名字] [原文件名] --将源文件压缩成zip文件
zip -r [压缩后的文件名字] [原目录] --将一个目录下的所有文件压缩成一个zip文件
unzip [需要解压缩的文件名] --将zip格式的压缩文件解压缩
tar:(对文件的归档和释放归档文件)
tar -c [打包后文件名] [原文件名] --创建一个新的归档文件 //相当于压缩
tar -x [打包后文件名] [原文件名] --释放归档文件 //相当于解压
tar -t [打包后文件名] [原文件名] --列出归档文件里的内容 //相当于查看压缩文件内容
tar -z [打包后文件名] [原文件名] --是否同时具有gzip属性
tar -j [打包后文件名] [原文件名] --是否同时具有bzip2属性
tar -v [打包后文件名] [原文件名] --显示详细信息
tar -f [打包后文件名] [原文件名] --表示使用归档文件
例:tar -cvf etc.tar /etc --创建一个etc.tar归档文件并使用和显示文件信息
rpm:
-qa --查看所有已安装的软件包
-qi [软件名] --查看某个安装包的详细信息
-q [软件名] --查看某个安装包是否被安装
-qd [软件名] --查看某个安装包的安装文档
-qc [软件名] --查看某个安装包的配置文件
-ql [软件名] --查看某个安装包的安装目录
-qpi [软件名] --查看未安装的安装包信息
-qpl [软件名] --查看某个未安装包的安装目录
-qpd [软件名] --查看某个未安装包的安装文档
-qpc [软件名] --查看某个未安装包的配置文件
-i [软件名] --安装某个未安装包
-ivh [软件名] --安装未安装包,并显示进度和相关信息
-e [软件名] --卸载某个已安装包
Linux yum 在线安装:
yum update --升级系统
yum install [安装包名] --安装指定的软件包
yum update [安装包名] --升级指定的软件包
yum remove [安装包名] --移除指定的软件包
yum search [安装包名] --搜索相关的软件包
yum list [安装包名] --列出软件的详细信息
Linux 用户管理:
用户添加:useradd
useradd [username]
-c --添加备注 例:useradd -c [content] [username]
用户修改:usermod
usermod [username]
-c --修改备注 usermod -c [content] [username]
-l --修改用户名 usermod -l [newUserName] [oldUserName]
-G --添加用户到组 usermod -G [groupName] [userName]
用户删除:userdel
userdel -r [username] --删除用户并且删除该用户下的目录
用户密码修改:passwd
passwd [username] --若没有密码则为创建密码
-S [username] --查看该用户密码状态
-l [username] --锁住一个用户的密码
-u [username] --解锁一个用户的密码
用户身份切换:su和sudo
su - [username] --切换用户
sudo : 可以通过当前用户来实现相当于root用户的权限命令,但首先得在
root中 /etc/sudoes的file下有该用户的相关设置,才能访问
群组管理:
群组的添加: groupadd
groupadd [groupname] --添加一个群组
群组的删除: groupdel
群组的修改: groupmod
groupmod -n [newGroupName] [oldGroupName] --修改一个群组的名字
Linux分区和格式化:
分区:fdisk
-n --添加一个分区
-p --打印分区表
-d --删除一个分区
-q --离开不保存分区
-w --保存分区
-l --查看分区
格式化:mkfs
Linux 挂载:
df -h --查看已挂载的文件系统的信息
mount --查看挂载信息
mount -a --挂载所有未挂载的文件
mount -t [文件格式] [分区目录] [挂载目录] --临时挂载
umount [挂载的目录] --取消该目录下的挂载
pvcreate [文件目录] --创建物理卷
pvdisplay --查看物理卷
vgcreate [卷组名称] [文件目录] --创建卷组
vgdisplay --查看卷组
lvcreate -L [逻辑卷大小(200M)] -n [逻辑卷名称] [卷组名称]
lvdisplay --查看逻辑卷
Linux 网络配置:
ifconfig --查看网卡信息
ifconfig [设备名称] down --关闭网卡设备
ifconfig [设备名称] up --启动网卡设备
ifconfig [设备名称] [ip] --修改网卡IP地址
Linux 防火墙:
语法:
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
注意:
不指定表名时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、类名、控制类型使用大写字母,其余均为小写
数据包常见控制类型:
ACCEPT:允许通过
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志信息,然后传给下一条规则继续使用
表:
filter、nat、mangle、rwa
Linux iptables命令:
-L --列出所有的规则条目
-n --以数字形式显示地址、端口等
-v --以更详细的方式显示规则信息
-line-number --查看规则时,显示规则的序号
添加新规则:
-A --在链的末尾追加一条规则
-I --在链的开头(或指定序号)插入一条规则
命令基本格式:
cmd[options][arguments]
系统命令:
cmd --help 帮助命令
man cmd 帮助命令
shutdown 关机
-k +5 在5分钟之后关机 message 输出的信息
-h 关机 now 现在关机 21:39 指定时间关机
reboot 重启
date 系统时间
cal 日历 -y 全年日历
su 切换用户 su -diandian 切换到点点用户
passwd 更改用户密码 passwd diandian
clear 清屏
who 查询有哪些用户登录虚拟机
pkill -KILL -t 将用户移除虚拟机 pkill -KILL -t diandian
uname -a 显示虚拟机的内核版本
logout 注销
常用的文件类型:
- 普通文件
d 目录
l 符号连接
c 字符设备文件
b 块设备文件
s 套接字
p 管道
基本命令:
ls 查看目录 ll 查看所有文件详细信息 -a 查看包括隐藏文件 -al 合并全面2个内容
pwd 显示当前全路径
cd 进入指定目录
mkdir 创建指定名称的目录 -p 创建树形目录 mkdir -p aa/bb/cc
touch 创建指定名称的文件
rmdir 删除指定名称的目录
cat 查看指定名称文件的内容
file 查看指定名称文件的类型
rm 删除文件或目录 -rf 级联删除
mv 移动文件或目录
cp 复制文件或目录 cp aa.txt test 将aa.txt复制到test文件目录下
chmod 修改文件权限 chmod 751 aa // 751:- rwx r-x --x
文件权限:
r 读权限 4
w 写权限 2
x 执行权限 1
每一个文件的属性信息:
1.文件名称
2.文件最后一次修改的时间
3.文件的长度
4.对于文件而言是硬连接数,对于目录而言是包含的子目录
5.表示文件的拥有者
6.表示文件的组拥有者
7.文件的权限
- rwx r-x r-- 1 root root 10739 Dec 23 13:31 score
(7) (4) (5) (6) (3) (2) (1)
对应权限之和:
- 0 x 1 w 2 r 4
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7
编辑文本命令:
vi: linux系统缺省使用的文本编辑器
i/a/o 输入模式
esc 命令模式
:wq 保存退出
:q! 强制退出
:q 普通退出
Emacs: 用于编辑程序源代码文件的文本编辑器
nano: 在字符界面提供了菜单操作,易用性较好
gedit: GNOME图形环境中的文本编辑器
系统查找命令:
which whereis locate find
vi/vim 编辑器的使用:
vi [FileName] 打开指定文档
命令模式下:
/[argument] 查找指定的参数在文档中出现的位置 n 向下继续查找 N 向上查找
10,20s/[argument]/[argument2]/g 在10行到20行之间查找指定的argument参数,并替换成argument2
x 往后删除 X 往前删除 输入数字后按下x 删除【数字】个字符
Linux进程查看命令:
静态: ps -l ps aux
动态:top
echo:查看变量值
path="$PATH"[text] 在$path变量后面追加内容
read [变量名] 相当于java里的System.in,,输入内容
-p [info] 添加提示信息
-t [time] 增加一个输入限制时间,如果时间内没有输入,则直接跳回命令界面
declare 定义变量类型
默认 String 类型
-i 定义int 类型
-x 让自定义的变量变成环境变量
+x 取消该自定义的环境变量
alias 给命令取别名,也可以给组合命令取别名
unalias 取消别名
history 历史使用过的命令
Linux命令运行的顺序:
1.以相对或绝对路径执行指令 如/bin/ls
2.由alias找到该命令来执行
3.由base内建指令来执行
4.通过$PATH这个变量的顺序找到的第一个命令执行
Linux编写shell的习惯:
1.shell script的功能
2.shell script的作者
3.shell script的版本信息
4.shell script的历史记录
Linux test命令的测试 ( test -e filename ) :
通过 echo $? 来回传查处的boolean结果 0为true 1为false
-e 该文档是否存在
-f 是否存在且为文件
-d 是否存在且为目录
-b 是否存在且为一个 block device 装置
-c 是否存在且为一个 character device 装置
-S 是否存在且为一个 socket 档案
-p 是否存在且为一个 FIFO 档案
-l 是否存在且为一个连结党
-r 是否存在且具有可读权限
-w 是否存在且具有可写权限
-x 是否存在且具有可执行权限
-u 是否存在且具有SUID属性
-g 是否存在且具有SGID属性
-k 是否存在且具有Sticky bit 属性
-s 是否存在且为非空白文件
Linux if elif ... else fi语法:
if [ 条件判断表达式 -o/-a 条件判断表达式 ]; then // -o or -a and
条件成立时的相关指令
fi
if [ 条件判断表达式 ]; then
条件成立时的相关指令
elif [ 条件判断表达式 ]; then
条件成立时的相关指令
else
条件成立时的相关指令
fi
Linux case...esac 语法:
case [变量] in
[变量值] )
相关指令 ;;
[变量值] )
相关指令 ;;
* )
相当于switch里的default ;;
esac
Linux while/until 循环语法:
while [条件判断]
do
相关指令
done
until [条件判断]
do
相关指令
done
Linux for循环语法:
for var in con1 con2 con3 ...
do
相关指令
done
for (( 初始值;条件;循环步骤 ))
do
相关指令
done
Linux 压缩解压:
gzip:
gzip -v [文件名] --压缩该文件
gzip -l [文件名] --查看该压缩文件
gzip -d [文件名] --解压该文件
gzip -9 -c [原文件名] > [压缩文件名] --压缩该文件,并保留源文件
bzip2:
bzip2 -z [文件名] --压缩成后缀名为bz2的文件
bzip2 -d [文件名] --解压后缀名为bz2的文件
bzip2 -9 -c [原文件名] > [压缩文件名] --压缩后缀名为bz2的文件,并保留源文件
zip:
zip [压缩后的文件名字] [原文件名] --将源文件压缩成zip文件
zip -r [压缩后的文件名字] [原目录] --将一个目录下的所有文件压缩成一个zip文件
unzip [需要解压缩的文件名] --将zip格式的压缩文件解压缩
tar:(对文件的归档和释放归档文件)
tar -c [打包后文件名] [原文件名] --创建一个新的归档文件 //相当于压缩
tar -x [打包后文件名] [原文件名] --释放归档文件 //相当于解压
tar -t [打包后文件名] [原文件名] --列出归档文件里的内容 //相当于查看压缩文件内容
tar -z [打包后文件名] [原文件名] --是否同时具有gzip属性
tar -j [打包后文件名] [原文件名] --是否同时具有bzip2属性
tar -v [打包后文件名] [原文件名] --显示详细信息
tar -f [打包后文件名] [原文件名] --表示使用归档文件
例:tar -cvf etc.tar /etc --创建一个etc.tar归档文件并使用和显示文件信息
rpm:
-qa --查看所有已安装的软件包
-qi [软件名] --查看某个安装包的详细信息
-q [软件名] --查看某个安装包是否被安装
-qd [软件名] --查看某个安装包的安装文档
-qc [软件名] --查看某个安装包的配置文件
-ql [软件名] --查看某个安装包的安装目录
-qpi [软件名] --查看未安装的安装包信息
-qpl [软件名] --查看某个未安装包的安装目录
-qpd [软件名] --查看某个未安装包的安装文档
-qpc [软件名] --查看某个未安装包的配置文件
-i [软件名] --安装某个未安装包
-ivh [软件名] --安装未安装包,并显示进度和相关信息
-e [软件名] --卸载某个已安装包
Linux yum 在线安装:
yum update --升级系统
yum install [安装包名] --安装指定的软件包
yum update [安装包名] --升级指定的软件包
yum remove [安装包名] --移除指定的软件包
yum search [安装包名] --搜索相关的软件包
yum list [安装包名] --列出软件的详细信息
Linux 用户管理:
用户添加:useradd
useradd [username]
-c --添加备注 例:useradd -c [content] [username]
用户修改:usermod
usermod [username]
-c --修改备注 usermod -c [content] [username]
-l --修改用户名 usermod -l [newUserName] [oldUserName]
-G --添加用户到组 usermod -G [groupName] [userName]
用户删除:userdel
userdel -r [username] --删除用户并且删除该用户下的目录
用户密码修改:passwd
passwd [username] --若没有密码则为创建密码
-S [username] --查看该用户密码状态
-l [username] --锁住一个用户的密码
-u [username] --解锁一个用户的密码
用户身份切换:su和sudo
su - [username] --切换用户
sudo : 可以通过当前用户来实现相当于root用户的权限命令,但首先得在
root中 /etc/sudoes的file下有该用户的相关设置,才能访问
群组管理:
群组的添加: groupadd
groupadd [groupname] --添加一个群组
群组的删除: groupdel
群组的修改: groupmod
groupmod -n [newGroupName] [oldGroupName] --修改一个群组的名字
Linux分区和格式化:
分区:fdisk
-n --添加一个分区
-p --打印分区表
-d --删除一个分区
-q --离开不保存分区
-w --保存分区
-l --查看分区
格式化:mkfs
Linux 挂载:
df -h --查看已挂载的文件系统的信息
mount --查看挂载信息
mount -a --挂载所有未挂载的文件
mount -t [文件格式] [分区目录] [挂载目录] --临时挂载
umount [挂载的目录] --取消该目录下的挂载
pvcreate [文件目录] --创建物理卷
pvdisplay --查看物理卷
vgcreate [卷组名称] [文件目录] --创建卷组
vgdisplay --查看卷组
lvcreate -L [逻辑卷大小(200M)] -n [逻辑卷名称] [卷组名称]
lvdisplay --查看逻辑卷
Linux 网络配置:
ifconfig --查看网卡信息
ifconfig [设备名称] down --关闭网卡设备
ifconfig [设备名称] up --启动网卡设备
ifconfig [设备名称] [ip] --修改网卡IP地址
Linux 防火墙:
语法:
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
注意:
不指定表名时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、类名、控制类型使用大写字母,其余均为小写
数据包常见控制类型:
ACCEPT:允许通过
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志信息,然后传给下一条规则继续使用
表:
filter、nat、mangle、rwa
Linux iptables命令:
-L --列出所有的规则条目
-n --以数字形式显示地址、端口等
-v --以更详细的方式显示规则信息
-line-number --查看规则时,显示规则的序号
添加新规则:
-A --在链的末尾追加一条规则
-I --在链的开头(或指定序号)插入一条规则
🐳 作者:hiszm 📢 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,万分感谢。 💬 留言:同时 , 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |