shell 常用指令整理 - linux
用户管理类命令
useradd
功能 : 增加新用户
格式 : useradd [选项] 用户名
userdel
功能 : 删除用户
格式 : userdel [选项] 用户名
参数 :
[选项] -r 删除用户时 将/home下目录下文件一起删除
passwd
功能 : 修改密码
格式 : passwd [选项] 用户名
su
功能 : 切换用户
格式 : su [选项] 用户名
参数 :
[选项] - 切换用户时,切换相应环境变量
groupadd
功能 : 增加用户组
格式 : groupadd [选项] 用户组名
groupdel
功能 : 删除用户组
格式 : groupdel [选项] 用户组名
sudo
功能 : 下放指令
格式 : sudo 指令
配置文件 /etc/sudoers //使用 visudo指令打开
配置格式 用户名 主机名=(运行名) 可运行的命令
举例 smb ALL=(ALL) (NOPASSWD): 、usr、sbin、useradd
获取root密码
系统启动进入grup菜单 按e 进入编辑模式
编辑ker8nel 行 添加 /init 1(进入单用户模式)
按b重启
编辑 /etc/passwd 文件 将第一行的 root:x:0 中 x删除 (删除root 密码)
重启 登陆linux 修改密码
文件和目录类命令
ls
功能 : 显示 目录下文件
格式 : ls [选项] [目录或文件]
参数 :
[选项] -a 显示包含 隐藏文件
-l 同 ll 显示 文件的详细信息
[目录或文件] 省略 则显示当前工作目录下文件
cd
功能 : 改变工作目录
格式 : cd 目录名
参数 :
[目录名] . 代表当前目录
.. 代表上一级目录
- 回退上一工作目录
cp
功能 : 拷贝文件或目录
格式 : cp [选项] 源文件名(包含存放目录) 目标文件名(包含存放目录)
参数 :
[选项] -r 操作文件为目录
mv
功能 : 移动文件/ 可用于更名
格式 :* mv [选项] 源文件名(包含存放目录) 目标文件名(包含存放目录)*
rm
功能 : 删除文件或目录
格式 : rm [选项] 文件或目录名
参数 :
[选项] -r 操作文件为目录
-f 强制删除 不提示
chmod
功能 : 改变文件访问权限
格式1 : chmod [who][+|-|=] [mode] 文件名
参数 :
[who] u 表示文件的所有者
g 表示与文件所有者同组的用户
o 表示其他用户
a 表示所有用户 系统默认值
[ + | - | =]
+ 添加某个权
- 取消某个权限
= 赋予给定权限 省略代表 =
[mode]
r(4)可读
w(2)可写
x(1)可执行
mkdir
功能 : 创建一个目录
格式 : mkdir [选项] 目录名(包含存放目录)
参数 :
[选项] -p 若上级目录不存在 依次创建上级目录
du
功能 : 查看目录大小
格式 : df [选项] 目录名
参数 :
[选项] -b 以字节为单位显示
-k 以kb为单位显示
-m 以M为单位显示
pwd
功能 : 显示当前工作目录的绝对路径
格式 : pwd
压缩打包指令
后缀名 | 对应文件类型 |
---|---|
*.gz | gzip 命令压缩的文件 |
*.bz2 | bzip2 命令压缩的文件 |
*.tar | tar命令打包的文件 |
*.tar.gz | tar打包后 再经gzip命令压缩的文件 |
*.tar.bz2 | tar 打包后 再经bzip2命令压缩的文件 |
gzip
功能 : 压缩 解压缩*. gz文件
格式 : gzip [选项] 生成的文件名(包含文件名)
参数 :
[选项] 不加选项 压缩
-d 解压
bzip2
功能 : 压缩 解压缩*.bz2文件
格式 : bzip2 [选项] 生成的文件名(包含文件名)
参数 :
[选项] 不加选项 压缩
-d 解压
tar
功能 : 打包 压缩 解压缩文件
格式 : tar [选项] 生成的文件名(包含文件名)
参数 :
[选项] cvf 将目录下所有的文件和目录都打包成一个文件
举例 tar cvf tmp.tar /tmp
xvf 将打包文件解开
举例 tar xvf tmp.tar
czvf 将目录下所有的文件和目录都压缩成一个文件 (.gz)
举例 tar czvf tmp.tar.gz /tmp
xzvf 将压缩文件解压 (.gz)
举例 tar xzvf tmp.tar.gz
#unzip
功能 : 解压*.zip的压缩文件
格式 : unzip [选项] 压缩文件名.zip
磁盘管理命令
fdisk -l
显示当前可以挂载的设备源
mount/umount
功能 : muont 设备挂载
格式 : mount [选项] 设备源 挂载目录
参数
设备源 光盘 dev/cdrom
功能 : umount取消设备挂载
格式 : umount 目标目录
df
功能 : 查看磁盘使用情况
格式 : df [选项]
参数 :
[选项] -k 以kb为单位显示
-m 以M为单位显示
-hl
touch
功能 : 创建新问你就按
格式 : touch 文件名
ln
功能 : 文件链接(快捷文件)
格式 : ln [选项] 原文件名 链接文件名
参数 :
[选项] 不加参数 创建硬链接文件
-s 创建软件接文件
注释 链接文件改变 源文件也改变
查找命令
find
功能 : 查找文件
格式 : find 路径 -name ‘文件名’
grep
功能 : 查找字符串
格式 : grep [选项] 字符串 文件名(包含目录)
参数 :
[选项] -r 递归查找 在指定目录及其子目录下寻找
-v 反向查找
进程管理命令
ps
功能 : 查看进程
格式 : ps [选项]
参数 :
[选项] -aux 查看系统中的所有进程
kill
功能 : 杀死进程
格式 : kill [选项] PID
参数 :
[选项] -s Signal 指定要发送的信号 signal 表示信号
-p 指定要发送的信号
-l 指定要发送的信号
PID 进程号
free
功能 : 查看内存
格式 : free [选项]
top
功能 : 动态查看CPU使用
格式 : top
网络设置命令
ifconfig
功能 : 查看和配置网络状况
格式 : ifconfig [网络接口] [选项]
参数 :
[选项] up 启动指定网络接口
down 关闭指定网络接口
-a 无论是否激活,显示所有配置的接口
[网络接口] -eth0 系统中的第1块物理网卡(以太网卡)
配置文件:* /etc/sysconfig/network-scripts/ifcfg-eth0 *
-lo 虚拟的回环网卡
-virbr0 虚拟网桥
/etc/init.d/network restart
功能 : 重启各网卡
service NetworkManager stop/start/restart
功能 : 关闭/开启/重启 NetworkManager服务
/etc/init.d/iptables stop
功能 : 重启各网卡
netstat
功能 : 查看网络状况
格式 : netstat [选项]
参数 :
[选项] -a 查看系统中所有的网络监听端口
其他命令
rpm
功能 : 软件安装
格式 : rpm [选项] [安装文件]
参数 :
[选项] -i(vh) 安装指定的文件
-qa 列出所有已安装的rmp包
-e 卸载指定的安装文件
| 管道操作符
功能 : 在前一指令的前提 执行后一命令
man
功能 : 帮助 查看指令使用方法
格式 : man 命令名
info
功能 : 帮助 查看指令使用方法
格式 : info 命令名
shutdown
功能 : 关机
格式 : shutdown [-t seconds] [-rkjncfF] time [message]
参数 :
echo
功能 : 屏幕输出字符串
格式 : echo “要输出的字符串”
shell 脚本
文件格式 :
**文件名**filename.sh
#!/bin/bash 或 #!/bin/sh sh为bash的子集 写在首行 指向命令解析器目录
执行命令 : sh filename.sh(包含目录)
语法
变量赋值等号左右不能带空格
语句结尾不加分号
# 表示注释
函数
格式 : function funcname{}
变量
a="hello world"
echo $a;
默认变量
$# 传入脚本命令行参数个数
$* 所有命令行参数值,在各个参数值之间留有空格
$1 第一个命令行参数
$2 第二个命令行参数
局部变量
local 未声明 local 无论是否子函数内 均为全局变量
if 语句
格式 :
[expression]
then
#code block
else if [expression]
then
#code block
else
#code block
fi
fi
[expression]
比较
比较操作 | 整数操作 | 字符串操作 |
---|---|---|
相等 | -eq | = |
不同 | -ne | != |
大于 | -gt | > |
大于或等于 | -ge | / 无 |
小于 | -lt | < |
小于或等于 | -le | /无 |
为空 | -z | /无 |
不为空 | -n | /无 |
判断
指令 | 含义 |
---|---|
-e | 文件已经存在 |
-f | 文件是普通文件 |
-s | 文件大小不为零 |
-d | 文件不是一个目录 |
-r | 文件对当前用户可以读取 |
-w | 文件对当前用户可以写入 |
-x | 文件对当前用户可以执行 |
for
格式 :
for var in [list]
do
#code block
done
for var in [list];do
#code block
done
while
格式 :
while [condition]
do
#code block
done
condition 为真时执行
until
格式 :
until [condition]
do
#code block
done
condition 为假时执行
case
格式 :
case "$val" in
condition 1) #code block ;;
condition 2) #code block ;;
condition 3) #code block ;;
*) #code block;;
esac