这是我参与更文挑战的第14天,活动详情查看: 更文挑战
前言
在工作中偶尔会和linux打交道,比如上传文件到服务器,在服务器上更改nginx配置,新建文件等等,所以会用到一些linux指令,有人会问:为什么不用图形用户界面 (GUI)? 对我个人来说,在熟练的情况下,我觉得使用linux指令操作比图形用户界面操作快很多,而且操作很方便;下面我讲一下这些常用的linux指令。
cd指令
切换当前目录到指定目录,这个应该是用的比较多,因为我们经常需要在不同的目录切换。
cd [目录名]
cd / // 跳转到根目录
cd /test // 跳转到根目录下的test目录
cd .. // 跳转到上一级目录
cd - // 跳转到上一级目录 等同于 cd ..
复制代码
ls指令
list
的缩写,列出当前路径中的文件和目录
ls // 列出文件
ls -a // 列出所有文件,包含隐藏文件
ls -l // 列出文件详细信息
复制代码
mkdir指令
创建文件夹
mkdir [选项] [目录名]
选项可选,可以是-m
,设置目录的权限,也可以是-p
, 支持传入路径,创建路径下对应的文件夹
mkdir test // 创建test文件夹
mkdir -m777 test // 创建所有人均可读,写,执行权限的test文件夹
mkdir -p /test/abc/def // 在test文件夹下创建abc,然后在abc中创建def文件夹
复制代码
rm指令
remove
的缩写,删除文件或者删除目录
rm [选项] [目录或者文件名]
选项可以是-r
,递归删除,删除文件夹需要传此参数,也可以是-f
,强制删除
rm a.txt // 删除 a.txt
rm -r ./a // 删除当前目录下的a文件夹
rm -rf ./a // 强制删除当前目录下的a文件夹
复制代码
pwd指令
查看当前目录的路径
pwd // 列出路径 eg: /test/abc
复制代码
mv指令
移动文件或者重命名文件
rm [目录或者文件名] [目录或者文件名]
如果第二个参数是目录,则移动文件到改目录下,如果是文件则重命名该文件
rm test.txt abc.txt // 重命名test.txt为abc.text
rm test.txt ./abc // 移动test.txt到abc目录下
复制代码
touch指令
创建文件,如果当前目录有同名文件,不会覆盖内容
touch [文件名]
touch abc.txt // 创建名字为abc的txt文件
复制代码
ln指令
为文件在另外一个位置创建一个链接
ln [选项] [源文件] [目标文件]
链接分类:软件链接及硬链接
选项不传默认是硬链接,-s
是软链接
区别如下:
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 硬链接只支持文件,不支持目录
- 软链接与硬链接均与源文件同步保持变化
ln -s /test/abc /test/def // 给test下的def文件夹创建个软链接,可以直接在def文件夹直接操作test下的abc里的文件
ln /test/abc/a.txt /test/def/b.txt // 给b.txt创建给a.txt的硬链接
复制代码
chmod指令
改变文件或目录的访问权限
chmod [选项] [文件或者目录]
选项支持2种写法:
- 包含字母和操作符表达式
- 数字
一般有三种用户角色,文件创建者(u), 文件创建者同组(g), 其它人(o)
权限:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
如果要所有人均可读可写可执行,那就得 (4 + 2 + 1) (4 + 2 + 1) (4 + 2 + 1) === 777 等同于u+r+w+x,g+r+w+x,o+r+w+x
+
相等于拥有,-
等于剔除
chomd 777 test.txt // 更改test.txt文件为均可读可写可执行
复制代码
rz/sz指令
rz 上传指令,支持参数-y
, 代表上传的目录如果有同名文件,则覆盖
sz 下载指令 sz test.txt
下载test.txt文件
rz sz 在某些linux不是自带指令,需要安装lrzsz包才能使用
rz -y // 上传
sz test.txt // 下载test.txt文件
复制代码
总结
以上就是平时我比较常用的linux指令,希望对你们有帮助。如果有任何问题,欢迎评论沟通~