常用命令
基本命令
pwd 打印绝对路径
ls +路径 列举文件名
ls 列举文件的权限 属于哪个用户 容量大小 修改时间等信息
ls -a 列举所有文件(包含隐藏文件 其他命令都没法显示隐藏文件)
ls --R 列举文件 并显示出里面文件的所属关系
df -T 查看U盘文件系统信息
cat +文件名 在命令行界面打印出文件内容·
cat -s +文件名 打印文件内容 如果有多行空行 则自动合并
cat -b +文件名 打印文件内容 并在每一行都加上相应行号
head -number +文件名 显示文件前number行的内容 默认前10行
tail -number +文件名 显示文件后number行的内容 默认后10行
cp +文件名 +路径 复制文件到指定路径 如果指定路径已经有相同文件名的文件 可在命令尾部加 -i来提示用户是否覆盖
cp +第一个文件名 +第二个文件名 如果第二个文件已存在 作用就是复制第一个文件的内容到第二个文件中 如果不存在 作用就是 新建一个文件 文件名为第二个文件 然后把第一个文件的内容复制到第二个文件中
cp -r +第一个文件夹名 +第二个文件夹名 复制第一个文件夹到第二个文件夹中
mv +文件名(可多个文件) +指定路径 移动文件到指定路径
mv +文件名 +文件名 把第一个的文件名重命名成第二个
rm +文件名 删除该文件
rm -r +文件夹名 删除该文件夹
find ./ -exec rm {} \;
find ./ xargs rm -rf
Ps: 第一个当参数过多时 会出问题 所以推荐第二种
find +目录 -限定符 -操作
ps: find . -name "test*" -exec rm {} \; 在当前目录查找 test*的文件 找到后 全部删除
export 对代码中的环境变量进行处理 新增 删除 修改
软件包
dpkg --i <package> 安装一个在本地文件系统上存在的Debian软件包
dpkg -r <package> 移除一个已经安装的软件包
dpkg -P <package> 移除已经安装的软件包及配置文件
dpkg -L <package> 列出安装的软件包清单
dpkg -s <package> 显示安装包的安装状态
apt-get check 检查安装包依赖关系
apt-get -f install 修复依赖关系
apt-get update 更新软件包
apt-get install +filename 安装软件包
apt-get install +filename --reinstall 重新安装软件包
apt-get remove 卸载软件包
apt-get --ppurge remove 卸载软件包及配置文件
apt-get clean 清理软件包缓冲区
apt-get autoclean 只保留最新版本软件包 清除多余软件包
apt -cache show +软件包名称 查询指定软件包的详细信息
apt -cache policy +软件包名称 查询软件包的安装状态
apt --cache depends +软件包名称 查询指定软件包依赖哪些软件包
apt --cache rdepends +软件包名称 查询指定软件包被哪些软件包依赖
用户命令
whoami 打印用户名
hostname 打印主机名
pwd 当前目录
shutdown -h now +(可加时间 单位为分钟) 关机
poweroff 关机(普通用户使用过需加sudo)
shutdown -r now +(可加时间 单位为分钟) 重启
reboot now 重启
history +number 打印最近使用的number条命令
echo $HISTSIZE 打印存储历史命令的容量
vi .bashrc 修改历史命令容量
passwd +用户名 修改用户密码
sudo adduser +新建用户名
文件处理及进程命令
* 用于批量处理文件 后面匹配任意长度的文件
ps: 有 file_1.txt file_wang.txt file3_1.txt 共三个文件 使用命令 ls file_*.txt 则只打印出文件file_1.txt file_wang.txt 不打印file3_3.txt
? 批量处理文件 后面只匹配一个字符
ps 有file_1.txt file_w.txt file_zhang.txt 共三个文件 使用 ls file_?.txt 前两个可以打印出来
[] 批量处理文件 方括号内存放可匹配的字符 (匹配一个字符)
ps :有 file_1.txt file_2.txt file_a.txt file_b.txt file_x.txt file_y.txt 共六个文件 使用命令 ls file_[1ax].txt 则只打印出 file_1.txt file_a.txt file_x.txt 三个文件
[^] 批量处理文件 除方括号内的字符 其他字符均可匹配· (匹配一个字符)
[-] 批量处理文件 方括号内存放可匹配字符的范围 (匹配一个字符)
Ps : ls file_[a-z].txt ls file_[0-9]
wc +filename 打印出四个信息 第一个是几行 第二个是几个单词 第三个是几个字节 第四个是文件名
PS 也可以在中间加一些标识符 只打印某个属性 -c 几行 -w 几个单词 -l 几个字节
| 管道命令 上一个命令的输出 作为下一条命令的输入
ps : ls /user/bin | wc -w 作用是 打印出/user/bin 这个目录下有多少个单词
echo "hello world" 打印出这句话
clear 清屏 等价于快捷键Ctrl + l
sudo -c +指令 执行这条指令时 权限为ROOT 执行完 权限释放
sudo -m 环境变量改成root
df -T 显示文件系统的信息 针对于文件系统
df -T -h 显示出其内存使用情况 及内存大小
du -h +目录名 针对于目录或文件 显示出目录下所有文件及目录 和内存占用情况
top 动态的监视进程的情况 退出用i+q
进程的状态 R 后台运行 R+ 前台运行 T 暂停 Z 僵尸态 D 不可中断的静止
pstree 以树形图显示进程 既可显示全部 也可+用户名ID 显示单个用户的进程
ps -aux 列出所有进程和信息
kill -15 +进程号 可以杀死该进程
kill -18 +进程号 恢复进程 但是进程变为后台运行 可用fg 命令把这个进程前台运行
rm -r +filename 删除文件夹
rmdir -r +fillename 删除文件目录 只能由内而外 逐个删除 要求目录必须为空 几乎不用
ln -s +绝对路径(或直接是文件名 但是不推荐) 链接名 建立软链接
ln +绝对路径(或直接是文件名 但是不推荐) 链接名 建立硬链接
gzip -数字 +filename 文件压缩比 数字可为1 - 9 压缩文件
gzip -l +压缩文件名 显示压缩文件信息
gunzip +压缩文件名 解压文件
gzip -d +压缩文件名 解压文件
tar压缩
tar -cf +要压缩的文件名.tar +要压缩的文件名或文件目录
tar -cjf +要压缩文件名.tar.bz +要压缩的文件名或文件目录
tar -czf +要压缩的文件名.tar.gz +要压缩的文件名或文件目录
压缩比越来越大
tar -tzf +要压缩的文件名.tar.gz +要压缩的文件名或文件目录 查看压缩文件内容
tar解压
tar -xvf +要解压的文件名.tar +要解压的文件名或文件目录
tar -xvjf +要解压的文件名.tar.bz +要解压的文件名或文件目录
tar -xvzf +要解压的文件名.tar.gz +要解压的文件名或文件目录
网络配置
ifconfiig 显示所有网卡信息
ifconfig +网卡名 显示指定网卡信息
dhclient 动态IP的获取
修改IP地址 子网掩码 等信息需要去 /etc/network/interfaces 文件里修改
ps : address 192.168.0.99
netmask 255.255.255.0
gateway 192.168.0.1
ping 网站名
ps ping www.baidu.com
ping -c 3 网站名 发送三次连接命令
nslookup +网站名 获取网站的域名, IP地址等信息
SHELL脚本
export 输出所有环境变量
头文件 #!/bin/bash
echo 打印
echo -n 打印之后不换行
内部输出语句 加\c 也是不换行
# 注释
read 读取数据
expr 算术运算 加减乘除 乘需要写成\*
$? 打印上一条指令的输出结果
eq 相等
ne 不等
gt 大于
ge 大于等于
lt 小于
le 小于等于
文件测试
-d 文件是否为目录
-e 文件是否存在
-f 是否为普通文
-L 是否为符号链接
-r 是否存在且为可读
-w 是否存在且为可写
-x 是否存在且为可执行
-s 是否存在且长度不为0
f1 -nt f2 文件1是否比文件2 更新
f1 ot f2 文件1是否比文件2 更旧
$HOME 是环境变量 代表家目录 /home/linux
$# 命令行输入
case +输入参数 in
选项1)
。。。。。。。。。。。;;
选项2 | 选项3)
。。。。。。。。。。。;;
*)
。。。。。。。。。。。;;
esac
for 输入参数 in 变量表(也可以是seq 1 2 10) 1是起始参数 2是累加数 默认为1 可不写 10是终止数
do
done
for((i = 1; i <= 10; i++))
do
done
while 命令或命令表
do
done
>filename 新建文件夹
break 跳出n层循环
continue 跳出n个循环