Learning Linux - Linux常用命令

很多IT相关职位的招聘要求中都包含“熟悉Linux操作环境”这一条,因此要想在互联网技术部门找到一份满意的工作,Linux技能的掌握不可忽视。

快捷键:
Ctrl+L
Tab补全 按两次会将所有命令显示出来

Linux常用命令

1、命令基本格式

Linux中的管理员是root,而非administrator。Linux中的root是真正的管理员。
pwd 显示当前目录
~ 当前所在目录
超级用户的提示符 #
普通用户的提示符 $

命令格式: 命令 选项 参数
简化选项 -a 完整选项 --all

查询目录中的内容:ls
ls 选项 文件或目录
选项包括:
-a 显示所有文件,包括隐藏文件;隐藏文件是为了防止误操作的发生。
-l 显示详细信息;ls -l 可以简写成 ll
-d 查看目录属性;看到目录本身的信息而不是目录下的内容。ls -ld 在显示详细信息的基础上查看。
-h 人性化显示文件大小;ls -lh
-i 显示inode

查看文件内容 cat

Linux中的文件类型
不是用扩展名来区分文件类型,Linux中文件类型只有7种,最常见的有:
-文件 d目录 l软链接文件
rw- 表示u所有者
r-- 表示g所属组
r-- 表示o其他人
r读 w写 x执行

2、文件处理命令

目录用来保存文件,就是Windows中文件夹的概念。
目录处理命令
建立目录:mkdir 命令的英文原意是:make directories
mkdir -p [目录名]
-p 递归创建 建立两个以上的目录时需要添加这一选项。

切换所在目录
cd [目录] 命令英文原意:change directory
简化操作:
cd ~ 进入当前用户的家目录
cd 进入当前用户的家目录
cd - 进入上次目录
cd … 进入上一级目录;这一命令结合相对路径可以进入其他路径。
cd . 进入当前目录

查询目前所在位置:pwd
删除空目录
rmdir [目录名] remove empty directories (用得非常少)

删除文件或目录
rm -rf [文件或目录] remove (用得比较多)
选项:
-r 删除目录或文件 删除的时候会针对每一个子文件进行询问
-f 强制
rm -rf 强制删除,不会再询问(要谨慎使用)
rm -rf / 会删除系统根目录中的所有内容(相当于自杀行为)

复制命令
cp 选项 原文件或目录 目标目录
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr 目标文件和源文件的属性会一模一样

剪切或改名命令
mv 原文件或目录 目标目录
不需要加选项

Linux常用目录
sbin下保存只有超级用户才能执行的目录
在这里插入图片描述在这里插入图片描述可以在家目录和tmp目录中随意放文件。

链接命令
ln -s 原文件 目标文件
生成链接文件,选项 -s代表创建软链接

硬链接特征:
拥有相同的i节点和存储block块,可以看做是同一个文件;
可以通过i节点识别;
不能跨分区;
不能针对目录使用。

软链接特征:
类似Windows快捷方式;
软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据;
Irwxrwxrwx l 软链接,软链接的文件权限都为rwxrwxrwx;
修改任意文件,另一个都改变;
删除原文件,软链接不能使用。

3、文件搜索命令

文件搜索命令locate
locate 文件名 在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate locate命令所搜索的后台数据库
updatedb 更新数据库,新创建的文件是搜索不到的,因此需要执行更新命令。

命令搜索命令
whereis 命令名 搜索命令所在路径与帮助文档所在位置
-b 只查找可执行文件
-m 只查找帮助文档
(类似的还有【whatis 命令名】,whoami)

which 文件名 搜索命令所在位置与别名

文件搜索命令find
find 搜索范围 搜索条件 搜索文件
find / -name install.log
避免大范围搜索,会非常耗费系统资源。
find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。

通配符:
*匹配任意字符
?匹配任意一个字符
[]匹配任意一个中括号内的字符

find /root -iname install.log 不区分大小写(Linux严格区分大小写)
find /root -user root 按照所有者搜索
find /root -nouser 查找没有所有者的文件

按照时间来搜索
find . -mtime +10
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容

按照文件大小来搜索
find . -size 25k 查找文件大小是25KB的文件(k小写,M大写)
-25k 小于25
25k 等于25
+25k 大于25
例如:find n/ -size -25k

find . -inum 262422 查找i节点是262422的文件

find . -size +20k -a -size -50k
查找某一目录下大于20k并且小于50k的文件
-a and 逻辑与,两个条件都满足 (类似于条件1 and 条件2)
-o or 逻辑或,两个条件满足一个即可

find . -size +20k -a -size -50k -exec ls -lh {} ;
查找某一目录下大于20k并且小于50k的文件,并显示详细信息
-exec 表示命令1的执行结果让命令2来处理; {} ; 代表标准格式。

字符串搜索命令grep
grep 选项 字符串 文件名 在文件中匹配符合条件的字符串
-i 忽略大小写
-v 排除指定字符串

区分find与grep:
find在系统中搜索符合条件的文件名,如果需要匹配使用通配符匹配,通配符是完全匹配
grep在啊文件当中搜索符合条件的字符串,如果需要匹配使用正则表达式匹配,是包含匹配

4、帮助命令

man 命令
例如:man ls(类似于Python中的 print?)
man -f ls (相当于whatis 命令)
man 5 pwd

man的级别
在这里插入图片描述选项帮助
命令 --help 仅获取命令选项的帮助
例如:ls --help

help shell 内部命令 获取shell内部命令的帮助
whereis cd 确定是否是shell内部的命令
help cd 获取内部命令帮助

详细命令帮助info(操作比较复杂)
info 命令
-回车 进入子帮助页面(带有*标记)
-u 进入上层页面
-n 进入下一个帮助小节
-p 进入上一个帮助小节
-q 退出

5、压缩与解压缩命令

.zip格式压缩
zip 压缩文件名 源文件
zip -r 压缩文件名 源目录
unzip 压缩文件 解压缩

.gz格式压缩
gzip 源文件 压缩为格式文件,源文件会消失
gzip -c 源文件 > 压缩文件 压缩后源文件保留
gzip -r 目录 压缩目录下的所有子文件,但是不能压缩目录

gzip -d 压缩文件 解压缩文件
gunzip 压缩文件 解压缩文件

.bz2格式压缩
bzip2 源文件 压缩后不保留源文件
bzip2 -k 源文件 压缩后保留原文件
不能压缩目录

bzip2 -d 压缩文件 解压缩,-k保留压缩文件
bunzip2 压缩文件 解压缩,-k保留压缩文件

.tar.gz格式压缩
tar -cvf 打包文件名 源文件
-c 打包
-v 显示过程
-f 指定打包后的文件名
例如:tar -cvf longzls.tar longzls

解打包命令
tar -xvf 打包文件名
-x 解打包

.tar.bz2格式压缩
tar -zcvf 压缩包名.tar.gz 源文件
-z 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
-x 解压缩.tar.gz格式

tar -jcvf 压缩包名.tar.bz2 源文件
-z 压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
-x 解压缩.tar.bz2格式

6、关机与重启命令

shutdown命令
shutdown 选项 时间
-c 取消前一个关机命令
-h 关机
-r 重启
例如:shutdown -r 05:30(Ctrl+C可以终止)

其他关机命令
halt
poweroff
init 0
(尽量不要用)

其他重启命令
reboot
init 6(尽量不要用)

系统运行级别
0关机 1单用户(类似于Windows的安全模式) 2不完全多用户,不含NFS服务 3完全多用户 4未分配 5图形界面 6重启

退出登录 logout (直接关掉则当前用户没有正确退出)