导图社区 linux常用基本命令
记录了常用的linux基本命令,供参考使用,制作不易,花费了一定时间,还请诸君能尊重我的劳动成果我。
编辑于2020-12-01 14:47:20linux
常用linux命令
目录处理命令
ls 查看目录信息
-l 查看目录详细信息
-ld 仅查看目录,而不查看目录下的文件
mkdir 创建目录
-p 递归创建目录
例:mkdir /ss/sss/sssss
pwd 显示绝对路径
rmdir 删除目录
只能删除空目录
cp 复制文件
用法 cp 文件/目录 文件/目录
-r 复制目录
-p 一摸一样复制源文件
若目标文件为新名,则复制的时候同时改名
mv 移动文件
用法 mv 文件/目录 文件/目录
改名操作如复制一样
rm 删除文件
-r 删除目录有提示
-rf 直接删无提示跑路警告
文件处理命令
touch 创建文件
可同时创建多个文件
cat 查看文件内容
cat>>文件 可以向文件输入命令
tac 倒序查看文件内容
more 查看内容极多的文件
可向下看,不可向上翻页
less 查看文件内容
可上下翻页
head 默认查看文件前十行的内容
-n 指定查看多少行
tail 默认显示末尾十行的内容
-n 指定查看多少行
ln 创建链接文件
用法 ln 文件 链接文件
无参数 创建硬链接文件
相当于创建了一个一摸一样的备份文件,大小完全一样,修改同步,删除源文件硬链接文件不受影响。
-s 创建软链接文件
相当于创建一个快捷方式,最终指向源文件,删除原文件链接失效
软连接可以对目录,硬链接只能对文件
权限管理命令
解释说明
ugoa 分别代表 用户 组 其他用户 全体
+-= 增加权限 减少权限 设置权限
rwx 读 写 执行
rwx 分别对应 4 2 1
拥有全部权限rwx,则4+2+1=7
chmod 修改权限
用法1 chmod [ugoa][+-=][rwx] 文件/目录
用法2 例chmod 777 文件;赋予文件全部权限
chown 修改所属者
用法 chown [用户][文件/目录]
chgrp 修改所属组
用法 chgrp [用户][文件/目录]
搜索命令
find 查找
用法 find [文件搜索范围][匹配条件]
-name 按照文件名搜索
find . -name "*.c"
-iname 按照文件名搜索不区分大小写
-size 按照文件大小查找
find /etc -size +163840
+大于 -小于 =等于
-user 按照用户查找
-group 按照组查找
-cmin 在指定分钟内修改过的文件
-ctime 在指定天数内修改过的文件
-a 同时满足两两个查找条件
find /etc -size +150000 -a -size -500000
-o 满足一个条件即可
-type 按指定文件类型查找
f 文件
l 软链接文件
d 目录
-exec 查找完继续执行一个命令
例 find . -name "*.txt" -exec grep "bin" {} \; 查找所有的txt文件并找出含有bin的行
例 find . -name "*.txt" -exec rm {} \;查找所有txt文件并删除
例 find / -type f -size 0 -exec rm {} \;查找所有长度为0的普通文件并删除
-ok 和exec一样,只不过会询问
locate 快速查找
用法 locate 文件名
其本身有一个索引库会定期更新,在创建新文件后,若索引未更新则无法查找到。
updatedb 更新索引
which 查找命令所在目录及别名
whereis 查找命令所在目录及帮助文档
grep 查找文件中特定的行
用法 grep 查找条件 范围
-i 不区分大小写
-v 反查找
grep -v test *test* 查找所有文件名包含test的文件中不包含test的行
用法 grep [a-z] * 查找当前目录任意文件包含小写字母的行
帮助命令
man
用法 man 命令
用户管理命令
useradd 添加新用户
用法 useradd 用户名
passwd 改密码
用法 passwd 用户名
who 查看当前登录用户
w 查看极为详细的用户登录信息
压缩解压命令
类型 .gz
gzip 压缩
只能压文件,不保留原文件
用法 gzip 文件
gunzip 解压缩
用法 gunzip 压缩包名
类型 .tar
tar 打包
-c 打包
-v 显示打包详细信息
-f 指定文件名
-z 打包同时压缩 .tar.gz
用法 tar -cvf 打包文件名 目录
打包同时压缩 tar -zcf 压缩文件名 目录
tar 解压缩
-x 解压缩
-v 显示详细
-f 指定解压文件
-z 解包解压缩
类型 .zip
zip 压缩文件或目录
用法 zip 压缩后文件名 文件
-r 压缩目录
用法 zip -r 压缩后文件名 目录
unzip 解压缩
unzip 压缩文件名
网络命令
write 给用户发送信息
用户必须在线
wall 向所有用户发送信息
ping 测试网络是否通
ping 地址
-c 指定几个包
ipconfig 查看当前网卡信息
ifconfig 网卡 ip 手动设置ip
mail 发邮件
mail 用户
无论在线与否都可发
mail 查看邮箱
last
显示过去和现在登录过的所有用户,包括重启事件
lastlog
列出所有用户并显示最后登录过的时间
traceroute 查看到网址转发了几次
用法 traceroute 网址
netstat 查看网络状态
-t tcp协议
-u upp协议
-l 监听
-v 路由
-n 显示IP地址和端口号
用法 netstat -tlum 查看当前计算机开了哪些端口
用法 netstat -an 查看本机所有链接
用法 netstat -rn 查看本机路由列表
磁盘管理
shell编程
基本解释:shell解释器,所有命令最终要经过shell解释交给内核
基本脚本执行
echo 输出命令
echo hello或echo "hello word"有空格用引号
-e 让特殊字符如\n不输出,而是实现它的功能
编写脚本第一行必写#!/bin/bash
执行脚本
通过绝对路径或相对路径执行
bash 执行:bash 脚本文件
history 查看所有历史命令
操作
>>追加
>覆盖
2>错误覆盖
2>>错误追加
&>正确错误都覆盖
&>>正确错误都追加
wc 显示文件内容有关
-c 统计字节数
-w 统计单词数
-l 统计行数
命令执行连接符
; 每条命令互不影响
例 cat test;wc test
&& 第一条命令正确执行时,才会执行第二条
|| 当第一条命令成功执行时,不会执行第二条.若失败,则会执行第二条
通配符
? 匹配任意一个字符
* 匹配0个或任意个字符
[] 匹配括号内的任意一个字符
[-] -代表范围;[a-z] 代表匹配一个小写字母
[^] 匹配不是括号内的字符
bash自定义变量
引号有重要作用 双隐号:特殊字符有意义;单引号:特殊字符无意义
默认变量为字符型;赋值=两边没有空格;
变量可使用转义符
如 name="aa\naa" 输出 echo -e $name会有换行
$()将变量的值赋给新变量
如 name=$(date);echo $name
反引号功能相同
name=·date·;echo $name
变量叠加
用{“”或$()
例 : aa=13 aa="aa"456 aa=123456
例 : aa=13 aa=$(aa)456 aa=123456
set 查看所有变量
unset 删除变量
位置变量
$n
$0接受命令本身
$1接收第一个数
$2接受第二个数,类推
用法
分别是第一个命令,第一第二个参数
$* 返回所有参数,把所有参数当整
相当于把所有参数合成一个
$@ 返回所有参数,把所有参数区分对待
不合并参数,实际是就是几个
例
第一个当成整体,所以只有1个;第二个每个都区分对待,循环四次,挨个输出
$# 返回所有参数个数
环境变量
环境变量类似全局变量,在所有shell中都有效;自定义变量类似局部变量,只在当前shell中有用。
pstree 进程树
自定义环境变量 export
export name=“wanshuai”
PATH 变量中的战斗机,所有命令执行时,都会到path中查找有无路径,若没有,则无法执行。
向PATH中添加目录 PATH="$PATH":/root/Desktop
添加后此目录下所有shell脚本可直接运行
预定义变量
$? 接受错误参数
$$ 当前进程号
$! 后台运行的最后一个进程号
& 放后台运行
read 接收键盘输入
-p 写提示信息
read -p "输入姓名" name
-t 设置等待秒数
read -t 5 name 五秒时间用于输入
-n 字符数
read -n 5 name
输入五个字符后结束
-s 隐藏输入的数据
不显示输入了什么
用法 read name
echo $name
数值运算与运算符
declare 声明变量类型
- 给变量设定类型
+ 取消变量类型
-i 声明为整数型
-x 声明为环境变量
-p 显示变量被声明的类型
用法 declare -i c=$a+$b
expr 运算
dd=$(expr $a+$b)
$() 运算
dd=$(($a+$b))
正则表达式
* 匹配任意个前字符
a* 匹配任意字符
aa* 匹配至少一个a
aaa* 匹配至少两个a
例 grep “aa*”test.txt
. 匹配除换行符外任意一个字符
s..d 匹配s和d之间有两个字符
s.*d 匹配s和d之间有任意个字符
.* 匹配任意行
^ 匹配行首
^[A-Z] 匹配所有以大写字母开头的
$ 匹配行尾
[A-Z]$匹配所有以大写字母结尾的
^$ 匹配空白行
[] 匹配括号内任意一个字符
[^] 匹配非括号内的字符
字符截取
cut 截取字符串
-f 截取那一列
-d 分隔符截取
例 cut -d “:”-f 1,3 /etc/passwd
printf 输出
awk 输出
用法 awk '条件1{动作1}条件2{动作2}.........' 文件名
awk 处理数据的时候会先读取一行数据,再判断条件
例 awk '{print $2 "\t" $5}' 文件名
‘BEGIN{动作}’会首先执行此动作,且只执行一次
'END{动作}' 会最后执行该动作
后期完善
sed 轻量化编辑器
暂时跳过,后期完善
排序
sort
-f 忽略大小写
-n 以数值型排序
cat /etc/passwd | cut -d ":" -f | sort -n
-r 反向排序
-t 指定分隔符;默认为制表符
-k n[,m] 从n开始,到m结束
条件判断
特别注意第二种方法
中括号两边是有空格的
第一条正确,会执行第一条命令,若不正确,执行第二条命令
流程控制
if 语句使用
基本格式
for 语句使用
while 语句使用
until 语句使用
与while相反当条件不成立时循环,一旦条件成立退出循环