Linux 常用命令
1. 文件处理
1)建立目录
mkdir -p [目录名]
-p表示递归创建,即先建立上级目录,再在这个目录下创建二级目录
2)查询目录中内容
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息 如:ls -l 显示:drwxr-xr-x 8 meng staff 256 4 10 12:19 testC
-d 查看目录属性
-h 人性化显示文件大小,如:ls -lh 显示:drwxr-xr-x 8 meng staff 256B 4 10 12:19 testC
-i 显示inode,查看i节点
-rw-r–r--
- 第一个字符-表示文件类型(-文件、d目录、|软链接文件)
- rw- r-- r–
三个一组,分别代表u所有者、g所属组、o其他人
(r读 w写 x执行)
cd简化操作:
cd ~ 进入当前目录的根目录
cd 进入当前目录的根目录
cd - 进入上次目录
cd .. 返回上级目录
cd . 进入当前目录
相对路径: 参照当前所在目录进行查找。 如: cd …/Downloads/
绝对路径: 从根目录开始指定,一级一级递归查找,在任何目录下都能进入指定位置。 如: cd /Users/meng/Documents/
注: ls -l 等价于ll
3)查询当前目录
pwd
4)删除空目录
删除空目录:rmdir [目录名]
强制删除: rm -rf [文件或目录]
r 删除目录
f 强制
5)复制命令
cp [选项] [原文件或目录] [目标目录]
选项:-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr
6)剪切/改名命令
mv [原文件或目录][目录目标]
注:若原文件和目标文件在同一目录下则为改名,否则为剪切
7)链接命令
ln -s [原文件][目标文件]
选项: -s 创建软连接
硬链接拥有相同的i节点和存储block块,可以看作同一个文件;不能跨分区;不能针对目录使用。删除原文件仍可使用
软链接类似于快捷方式,有自己的i节点和Block块,修改任意文件,另一个都改变,删除原文件,软链接不能使用,文件权限都为lrwxrwxrwx
7)常见目录作用
- 根目录下bin和sbin,usr目录下的bin和sbin都是用来保存系统命令。sbin需要root权限才可以访问(usr下为系统软件资源)
- etc下保存系统默认的配置文件
- lib下保存函数库
- boot下保存用户启动相关文件
- /mnt为系统挂载目录
- tmp下保存临时文件
注: 除home、root、demp下随意放置文件,其余目录尽量不要动
2. 文件搜索
1)文件搜索命令:locate
locate [文件名]
在后台数据库中(/var/lib/mlocate)按文件名搜索,搜索速度更快。(updatedb 更新数据库)
2)搜索命令的命令:whereis 、which
whereis 命令名
# 搜索命令和帮助文档所在路径
-b 只查找可执行文件
-m 只查找帮助文件
which 命令名
# 可以查看命令的别名
3)文件搜索命令:find
find [搜索范围][搜索条件]
如:
find /root -name test.txt
# 若想模糊查询,可以用通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
find /root -iname test.txt
# 不区分大小写
find /root -user root
#按所有者查询
find /root nouser
# 查找没有所有者的文件
find /var/log/ -mtime +10
#按时间查找
-10 10天内
10 10天当天
+10 10天前
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
find . -size 25k
#按文件大小查找(.为当前目录)
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find . -size +20k -a -size -50k
#查找当前目录下大于20k并且小于50k的文件
-a and
-o or
find . -size +20k -a -size -50k -
exec ls -lh {} \;
#-exec 针对查找结果的命令 {} \;
find . -inum 262422
#按i节点查找
4)字符串搜索命令:grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项: -i 忽略大小写
-v 排除指定字符串,即取反
例如:grep "nums" hello.py
find与grep区别:
find是在系统中搜索符合条件的文件名,可以使用通配符匹配,是完全匹配。
grep是在文件中搜索符合条件的字符串,可以使用正则表达式进行匹配,是包含匹配。
3. 帮助
1)man
man 命令
如:man ls
man -f 命令 相当于 whatis 命令
man -k 命令 相当于 apropos 命令
# 所有包含命令字符的,如apropos passwd 返回 ldappasswd(1) 和passwd(1)
2)help
选项帮助:命令 --help
shell 内部命令:help shell内部命令
如:whereis cd #确定是否是shell内部命令,通过查看是否有配置路径
help cd #获取内部命令帮助
3)info
info 命令
回车:进入子帮助页面(带*号)
u:进入上层页面
n:进入下一个帮助小结
p:进入上一个帮助小结
q:退出
4. 压缩与解压缩
常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
1).zip压缩
zip 压缩文件名 源文件
#压缩文件
zip -r 压缩文件名 源目录
#压缩目录
unzip 压缩文件/目录
#解压缩
2).gz压缩
gzip 源文件
#压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
#压缩文件,源文件保留
gzip -r 目录
#挨个压缩目录下的所有子文件,不能压缩目录
gzip -d 压缩文件
gunzip 压缩文件
#解压缩
3).bz2压缩:不能压缩目录
bzip2 源文件
#压缩文件,源文件会消失
bzip2 -k 源文件
#压缩文件,源文件保留
bzip2 -d 压缩文件
bunzip2 压缩文件
#解压缩,-k保留压缩文件
4)tar打包命令
tar -cvf 打包文件名 源文件
选项: -c 打包
-v 显示过程
-f 指定打包后的文件名
tar -xvf 打包文件名
选项: -x 解打包
#直接压缩为.tar.gz格式
tar -zcvf 压缩后包名.tar.gz 源文件
tar -zxvf 解压缩包.tar.gz
tar -ztvf 只查看压缩包.tar.gz
#直接压缩为.tar.bz2格式
tar -jcvf 压缩后包名.tar.bz2 源文件
tar -jxvf 解压缩包.tar.bz2
tar -jtvf 只查看压缩包.tar.gz
如:tar -zcvf /tmp/testfile.tar.gz file1 file2
#同时压缩两个文件到temp路径下
tar -zxvf testfile.tar.gz -C /tmp/
#将压缩文件解压缩到指定文件
5. 关机和重启
shutdown [选项] 时间
选项: -c 取消前一个关机命令
-h 关机
-r 重启
时间:now或具体时间
其他关机命令:halt、poweroff、init 0 不常用
其他重启命令:reboot、init 6
6. 其他
1)挂载命令
mount
#查询系统中已经挂载的设备
mount -a
#依据配置文件/etc/fstab的内容,自动挂载
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项: -t 文件系统 加入文件系统类型来指定挂载的类型,可以是ext3、ext4、iso9660等
如:mount -o remout,exec /home/
#重新挂载已挂载的文件系统,home默认已挂载,所以不需要写设备文件名
# 挂载光盘
mkdir /mnt/cdrom/
#建立挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom
#挂载光盘 -t iso9660可不写
umount /mnt/cdrom/
#卸载,可跟设备文件名或挂载点
#挂载U盘
fdisk -l
#查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
#sdb1为查看到的设备文件
2)用户登录查看和交互
w
#查看登录用户信息
who
#只能看到用户名、登录终端、登录时间
last
# 查询当前登录和过去登录的用户信息
lastlog
# 查询所有用户最后一次登录时间
runlevel
# 查看系统当前运行级别
logoout
# 退出登录
touch 文件 #创建文件
cat 文件 #查看文件内容
more 文件 #分屏查看文件内容
vim 文件 #编辑文件
Shell基础
1. 脚本执行
.sh为shell脚本文件
必须以 #!/bin/bash 开头
#注释
echo #输出
# 输出带颜色的文字
echo -e "\e[1;31m 你好 \e[0m"
如: vim hello.sh #写脚本
运行方法1:(常用)
chmod 755 hello.sh #赋予执行权限
./hello.sh #运行
运行方法2:
bash hello.sh
2. 别名
alias
# 显示系统中所有命令的别名
alias 别名='原命令'
# 设定命令别名
vi ~/.bashrc
#写入环境变量配置文件
unalias
#删除别名
3. 常用快捷键
ctrl c #强制终止
ctrl l #清屏
ctrl a #光标移到命令行首
ctrl e #光标移到命令行尾
ctrl u #从光标位置删除到行尾
ctrl z #把命令放入后台
ctrl r #在历史命令中搜索
4. 历史命令
history [选项] [历史命令保存文件]
选项: -c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件~/.bash_history
!! #重复执行上一条命令
!字符串 #执行上一个以该字符串开头的命令
5. 输出重定向
将在显示器上显示的命令结果保存到文件中
命令 > 文件 #覆盖输出
命令 >> 文件 #追加输出
错误命令 2>文件 #覆盖错误输出,>左右无空格
错误命令 2>>文件 #追加错误输出,>>左右无空格
命令 >文件 2>&1 #覆盖输出,将正确输出和错误输出都保存到同一个文件中
命令 &>文件 #同上
命令 >>文件 2>&1 #追加输出,将正确输出和错误输出都保存到同一个文件中
命令 &>>文件 #同上
命令 >>文件1 2>>文件2 #将正确输出到文件1,错误输出到文件2
6. 输入重定向
wc [选项] [文件名]
选项: -c 统计字节数
-w 统计单词数(以空格区分单词)
-l 通风机行数
7. 管道符
#多个命令执行
; #顺序执行多个命令,命令之间没有逻辑关系
&& #逻辑与
|| #逻辑或
#管道符
命令1 | 命令2
#命令1的正确输出作为命令2的输入
如: ll /etc | more
8. 其他
$ #调用变量的值
$() #类似于``,用来引用系统命令
参考:
慕课网Linux达人养成计划:http://www.imooc.com/learn/175