Linux基础命令合集
在进行软件开发和深度学习网络模型训练的时候,如果需要在实验室或是自己公司的服务器上进行项目部署工作,大家就必须熟练掌握Linux系统的基本操作:
若是作为平时练习,建议大家不要下载虚拟机,直接在Windows系统电脑下就可以安装WSL(Windows Subsystem for Linux)安装流程可参考史上最全的WSL安装教程
WSL:Windows Subsystem for Linux(WSL)允许在Windows上运行Linux环境,无需虚拟机或双重启动。可安装多种Linux发行版,运行命令行工具、脚本和应用程序,使用GNU/Linux包管理器安装软件,调用Windows和Linux应用程序,集成Linux图形应用,并加速Linux上的机器学习工作负载。
一、查看当前工作目录下的文件:ls命令
ls [-a -l -h] [Linux路径]
表示List列表
如果没给定任何选项或者参数默认查看当前工作目录
- -a选项表示all的意思,即列出全部文件(包含隐藏的文件/文件夹)隐藏文件前置带点,必 须使用-a才能显示出来
- -l选项,表示line,以列表(竖向排列)的形式一行行展示内容,并展示更多信息混用:-a -l,-al,-la表示同一个意思:即所用内容以列表形式竖向排列展现出来
- -h表示human-readable的意思,即以易于阅读的形式,列出文件的大小,如Kb,Mb,Gb,没有单位就是b,byte的意思
- -h必须要搭配-l一起使用
二、切换工作目录:cd命令
cd [Linux路径]
表示Change Directory
cd命令不需要给选项,只需要给参数,表示要切换到哪个目录下,描述绝对路径,要以/开头,相对路径则写想去文件夹名称即可。
cd # 命令直接执行,不写参数,表示回到HOME的目录
cd / # 表示回到根目录
cd . # 表示当前目录,例如cd ./Desktop和cd Desktop效果一致
cd .. # 表示回到上一级目录
cd ../.. # 表示切换到上二级目录
cd ~ # 表示HOME目录,例如cd ~即可切换到HOME目录或cd
~/Desktop表示切换到HOME内的Desktop目录(用pwd查看cd / 和cd ~的区别)。
三、查看当前工作目录:pwd命令
pwd
表示Print Working Directory
通过ls来验证当前的工作目录 ,其实是不恰当的我们可以通过pwd命令,来查看当前所在的工作目录(具体位置路径)pwd命令,无选项,无参数,直接输入pwd即可。
四、在当前路径创建文件夹:mkdir命令
mkdir [-p] Linux路径
表示Make Directory
可以通过mkdir命令可以创建新的目录(文件夹)
-
参数必填,表示Linux路径,即要创建的文件夹路径,相对路径或绝对路径均可
-
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级目录
mkdir ~/test1 # 在HOME目录创建test1文件夹 (特别注意需要加~)
mkdir Mickey # 在当前文件夹创建Mickey文件夹
mkdir -p IT/Mickey/test2 # 表示一次性创建不存在的一系列文件夹
mkdir /test3 # 不能超过HOME目录创建文件(没有权限)
五、创建文件:touch命令
touch Linux路径
可以通过touch命令创建文件:touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可用。
六、查看文件内容:cp命令
cat Linux路径
来自英文concatenate,意思为连接,可用于连接文件并打印到标准输出设备
准备好文件内容后,可以通过cat查看内容,cat命令没有选项,只有必填参数。
七、查看文件内容(可翻页):more命令
more Linux路径
cat是将内容全部显示出来,而more支持翻页,如果内容过多,可以一页一页展示,此命令同样没有选项,只有必填参数,空格翻页,q退出查看。
八、复制文件文件夹:cp命令
cp [-r] 参数1 参数2
cp命令来自英文单词copy
该命令可以用于复制文件、文件夹:
-
-r,可选,用于复制文件夹使用,表示递归
-
参数1,Linux路径,表示被复制的文件或者文件夹
-
参数2,Linux路径,表示要复制去的地方
九、移动文件或文件夹:mv命令
mv 参数1 参数2
表示英文单词move
可以移动文件/文件夹:
- 参数1,Linux路径,表示被移动的文件或者文件夹
- 参数2,Linux路径,表示要移动去的地方(没有就自动创建,相当于改名效果)
文件→文件相当于覆盖或者改名
文件→文件夹相当于将文件夹置于相应文件夹(路径/)内
十、删除文件,文件夹:rm命令
rm [-r -f] [参数1 参数……参数n]
来自英文单词remove
- r 用于删除文件夹
- -f表示force强制删除,不会弹出提示确认信息
普通用户不加-f删除内容也不会弹出提示,只有root管理员用户不加-f删除内容会有提示所以一般普通用户用不到-f选项。
- 参数1 参数……参数n 表示要删除的文件或文件夹路径,按照空格隔开
rm命令支持通配符*,用来做模糊匹配:
test*
,表示任何以test开头的内容\*test
,表示任何以test结尾的内容\*test*
,表示任何包含test的内容
处于root超级管理员的时候:
rm -rf /
rm -rf /*
效果等同于在Windows上执行C盘格式化
启用root超级管理员方法:
Su -root
→ 输入密码:*****
十一、查看所使用的命令程序文件存放位置:which命令
which 要查找的命令
十二、查看指定目录下的文件存放位置:find命令
find 起始路径 -name “被查找的文件名”
find / -name “test” # 用来查找根目录下的test文件
或者是用通配符(和rm相似):
find /home -name “test*” # 用来查找在home目录下的以test开头的文件
find 起始路径 -size +- n[KMG]
±表示大于小于,n表示大小单位,k(小写字母)表示kB,M表示MB,G表示GB
find / -size +100G # 查找大于100GB的文件
快捷键补充:
Ctrl + C
停止程序查找
Ctrl + D
退出登出
Ctrl + L
快速清屏
十三、文本搜索工具:grep命令
grep [-n] 关键字 文件路径
来自英文Globally Search a Regular Expression and Print
- 选项-n可选,表示在给定关键字结果中显示匹配的行和行号
- 参数,关键字,必填,表示过滤的关键字,带空格或者其他特殊符号建议使用“ ”包围
- 参数,文件路径,表示过滤内容的文件路径,可作为内容输入端口
十四、数量统计工具:wc命令
wc [-c -m -l -w] 文件路径
来自于英文Word Count
- 选项-c,统计bytes数量
- 选项-m,统计字符数量
- 选项-l,统计行数 选项-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入
一个中文字符占两个bytes,一个英文字母占一个byte
十五、管道符:|
cat Mickey.txt | grep “Mickey”
缩写来自Globally Search a Regular Expression and Print
含义是将左边命令的输出结果作为右边命令的输入,得到当前路径下的该文件内容后,作为grep命令的输入,过滤得到含有Mickey的所在行。
ls -l
和wc -l
配合使用可以得到当前路径下文件/文件夹的数量
十六、输出文本信息:echo命令
echo "输入需要输出的内容"
建议使用“ ”双引号包围
echo `command`
使用反引号` `包围可以当作命令来使用
十七、重定向符:> & >>
配合echo命令使用
>,将左侧命令的结果,覆盖写入右侧文件
echo "覆盖写入" > Mickey.txt
>>,将左侧命令的结果,追加写入右侧文件
echo "追加写入" >> Mickey.txt
将当前目录下Mickey.txt的内容覆盖写入Mickey2610.txt
echo `cat Mickey.txt` > Mickey2610.txt
十八、跟踪文件路径:tail命令
tail [-f -num] Linux路径
- 参数Linux路径,表示被跟踪的文件路径
- 选项-f,表示持续跟踪(追加或者复写都会改变结果 )→
Ctrl + C
停止跟踪 - 选项num,表示查看尾部多少行,不填默认10行
在搞懂Linux基础命令之后,建议大家再去了解一下vim编辑器,然后深入学习Git与Github的相关知识技能,比如这篇一篇文章搞懂Git与Github,该技能可以帮助我们快速在Github上抓取各种大佬在仓库内发布的工程项目哦!