Linux shell 常用命令
ls命令
如果只是用ls 只能查看当前目录内容,不能查看到隐藏文件。
选项 | 含义 |
---|---|
-a | 显示指定目录下 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l显示文件大小 |
命令使用范例:
ls #查看当前目录内容,不能看到隐藏文件
ls -a #查看当前目录内容,包括隐藏文件
ls -al #查看当前目录内容的详细信息(文件类型、权限、大小等)
ls -lh #查看目录内容的详细信息,以K,M,G方式显示文件大小
ls /路径 #查看路径下的内容
ll 等价于 ls -l 查看当前文件详情(缺点:隐藏文件看不到)
目录查看、创建和删除命令
- pwd命令
查看当前所在目录 - mkdir创建目录
mkdir 目录名 #创建的目录只有一个
mkdir -p /路径 #创建有层级的目录
-rm命令
用于删除文件或者目录
参数 | 含义 |
---|---|
-f | 强制删除,忽略不存在的文件或目录,无需提示 |
-r | 递归地删除目录下的内容,删除目录是必须参加此参数 |
范例:
rm -f 目录或文件名#删除时有提醒
rm -fr 目录或文件名#直接删除(不管有没有内容)
目录切换命令
cd(change directory)其功能更改为当前的工作目录。
命令 | 含义 |
---|---|
cd | 切换到用户主目录(root用户主目录是/root,其他是/home) |
cd 目录 | 切换到指定目录下 |
cd … | 切换到上级目录 |
cd - | 可以在最近两次目录之间切换 |
注:Linux所有目录和文件名都是大小写敏感的。
文件操作命令
- touch命令
创建文件的命令
touch 文件名.后缀 #在当前目录创建文件
touch /地址/文件名.后缀 #在地址下创建文件
-mv命令
可以用来移动文件或目录,也可以给文件或目录重命名
mv 要移动的文件或目录 移动到的目录 #文件目录移动
mv 旧的文件名.后缀(或目录名) 新的文件名.后缀(或目录名) #重命名
cat命令
cat /路径 #查看文件内容
cp命令
cp 文件 目录 #将文件复制到目录里
cp 文件1 文件2 #将文件1内容复制到文件2
压缩和解压命令
参数:
参数 | 含义 |
---|---|
-c | 创建一个新的tar文件 |
-v | 显示运行过程的信息 |
-f | 指定文件名 |
-z | 调用gzip压缩命令进行压缩 |
-t | 查看压缩文件内容 |
-x | 解开tar文件 |
- 解压
Linux压缩包一般是 .tar.gz 结尾。
#解压.tar.gz
tar -zxvf 压缩文件 #将文件解压到当前目录
tar -zxvf 压缩文件 -C/root/dir #将文件解压到指定目录(这里是解压到c盘的root下的dir目录)
#解压.zip
unzip 压缩文件 #默认解压到当前目录
unzip -目录 压缩文件 #解压到指定目录
- 压缩
#压缩.tar.gz
tar -c[z]vf 压缩文件 目录
tar -czvf 压缩文件名.tar.gz 要压缩的文件(可以有多个,空格分开) #将要压缩的文件进行打包压缩
tar -czvf -路径 要压缩的文件 #压缩到指定的地方
#压缩.zip
zip -r 压缩文件名.zip 要压缩的文件
注:czvf和cvf的区别是,前者会进行打包压缩,所以速度会比后者慢。
find命令
用于查找符合条件的文件。
实例:
find / -name 'ins*' #查找/目录下以文件名ins开头的文件
find / -type f -size +100M #查找/目录下文件大小大于100M的文件(-就是小于)
grep命令
对文件进行文本查询
grep 关键字 文件 #在文件中查找关键字
grep 关键字 文件 --color #在文件中查找关键字,高亮显示(没啥用,上面那个就已经会高亮了)
which命令
which 文件命令名 #查找文件命令的路径
如:which pwd
系统管理命令
- ps命令
用来列出系统当前运行的那些进程
ps -ef #查看所有进程
- kill命令
用于终止执行中的进程
kill -9 进程id号 #杀死pid进程
kill -l #查看所有的信号上面的9就是其中一个,每个信号功能不同
管道命令
其作用是将一个命令的输出作为另一个命令的输入。
如:
ps -ef | grep java #查新名称中包含java的进程,中间的竖线是分割开的符号,可以这样连下去,前一个是后一个的输入
ll | grep dir #查询当前目录中dir相关的文件或目录
用户的创建和删除命令
- 用户的创建和密码设置
useradd 用户名 #创建新用户
passwd 用户名 #设置用密码
- 用户删除
userdel -r 用户名 #删除用户
权限管理命令
Linux是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux会对该用户进行认证、授权审计等操作。在它中root权限是最高的,相当于Windows的administrator,拥有最高权限,而其他用户是普通用户。
Linux对文件创建者(所属用户),所属用户组,其他用户都给予不同的权限。
可读 | 可写 | 可执行 |
---|---|---|
r | w | x |
对文件是可读取内容,对目录是可以ls | 对文件是指可以修改文件内容,对目录是指可以在其中创建或删除子节点 | 对文件是指是否可以运行这个文件,对目录是否可以cd进入目录 |
4 | 2 | 1 |
对于每个文件来说都有三个对应的角色用户:
- 所属用户:文件的创建者。
- 所属用户组:文件创建者在一个组里的用户。
- 其他用户:不属于文件创建者及其组里的用户。
这三个角色都可以拥有可读可写可执行(rwx)的权利,可以给予或不给予,不给予某个权限时该权限位置显示-,如rwxrwsr-- 表示其他用户不可以执行写入和执行操作。
也可以用数字表示,以图上为例rwx就是4+2+1=7,也就是说权限可以写成774。
- chmod命令
用来变更文件或目录的权限。
范例:
chomd 666 a.txt #给a文件赋予rwxrwxrwx的权限
chmod u+x a.txt #给所属用户加上x权限(-就是减去权限)
chmod u=rwx,g=rw,o=x a.txt #把所属用的权限变为rwx,所属用户组权限变为rw,其他用户权限变为x
注:一个文件刚创建是,默认权限是664
网络和服务管理命令
- hostname
查看主机名 - ifconfig命令
查看主机ip地址 - service命令
用来控制系统服务的工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务当前状态。
service network status #查看网络服务状态
service network stop #停止网络服务
service network start #启动网络服务
service network restart #重启网络服务
ln命令
可以用来创建软连接,类似创建快捷方式
ln [参数] [源文件或目录] [目标文件或目录]
实例:
ln -s a.txt b.txt #创建软连接,内容是相连的,修改一个另一个也会变
clear命令
清屏命令,快捷键可以使用Ctrl+l。
history命令
查看所有的历史记录。
vi编辑器
vi是Linux中最金典的文本编辑器。
- 特点:
1.只能是编辑文本内容,不能对字体段落进行排版。
2.不支持鼠标操作。
3.没有菜单。
4.只有命令。 - 编辑器使用
vi 文件 #直接打开文件
vi 文件 +数字 #直接打开文件,并且定位到第数字行
vim是vi的增强版,vim可以识别 文件加上颜色,没什么差别都是一样的用法。
刚进入vi或vim时是命令行模式,输入 i 或o或O就进入编辑模式可以在里面输入文字,按Esc键变回命令行模式。
区别:
i | o | O |
---|---|---|
在当前光标处写入数据 | 换行在下一行处写入数据 | 在上一行处写入数据 |
命令行模式下:
yy | p | u | dd | gg | G | /str |
---|---|---|---|---|---|---|
复制,nyy表示复制n行 | 粘贴 | 撤销 | 删除,ndd删除n行 | 回到文件顶部 | 回到文件末尾 | 查找str |
底行模式(先按Esc键,然后输入:):
wq | q! | w | wq! | q | x | set nu | %s/旧文本/新文本/g |
---|---|---|---|---|---|---|---|
保存退出 | 强制退出,修改内容不想保存退出 | 临时保存,:w b.txt 将当前文件另存为b.txt | 强制保存退出 | 查看文件内容之后退出 | 保存退出,shift+z+z也可以 | 设置行号 | 文本替换 |
补充:
:数字 #光标定位在数字这一行
vim a.txt +4 #进入文件贯标定位在第四行