Hi,大家好,我是半亩花海。本文主要了解 20 个常用的 Linux 基本指令。Linux 具有开放、灵活、自由、免费等特点,这使得全球大多服务器设备都是使用的 Linux 操作系统,而且很高的几率不会使用图形化的界面,只有命令行操作。而要使用命令行熟练操作 Linux,最重要的知识就是 Linux 操作系统的内核以及 Linux 环境下的指令,本篇文章的主要内容就是 Linux 环境下的指令操作。
目录
一、Linux 是什么
二、Linux 常用的基本指令
1. ls:列出该目录下的文件(list)
2. pwd:显示当前目录的绝对路径(Print Working Directory)
3. cd:切换目录(Change Directory)
4. cp:复制(Copy)
5. mv:移动(Move)
6. rm:删除给定的文件(Remove)
7. mkdir:创建一个新目录(Make Directory)
8. rmdir:删除文件夹(Remove Directory)
9. cat:查看文件内容(concatenate and print files)
10. tar:打包压缩、解压
11. zip、unzip:打包压缩、解压
12. ps:查看进程(Process Select)
13. kill:杀死进程
14. passwd:修改密码(Password)
15. tee:显示并保存
16. reboot:重启
17. date:时间相关指令
18. find:查找
19. grep:按行查找并匹配
20. 扩展命令
一、Linux 是什么
Linux 是一款基于 GNU 通用公共许可协议的自由和开放源代码的类 UNIX 操作系统,该操作系统的内核由 Linus Torvalds 在1991年首次发布。之后,在加上用户空间的应用程序之后,就成为了 Linux 操作系统。但是,严格来讲,Linux 只是操作系统内核,但通常采用 "Linux 内核" 来表达该意思。而 Linux 则常用来指基于 Linux 内核的完整操作系统,它包括 GUI 组件和许多其他实用工具。
在 Linux 的世界里,其核心思想:一切皆为文件。
Linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 "/",然后在此目录下再创建其他的目录。
绝对路径:从根目录开始写,例如 /home/root/workspace/sample。相对路径:以当前目录为基础, ./ 表示当前目录(./ 等价于不写), ../ 表示父级目录(当前路径所在的上一级路径), / 表示当前目录的根目录。二、Linux 常用的基本指令
1. ls:列出该目录下的文件(list)
ls 常用参数:
-l:列出文件的详细信息-a:all,列出所有文件,包括隐藏文件注:参数可以叠加使用,如 -la 表示列出所有文件及其详细信息。
2. pwd:显示当前目录的绝对路径(Print Working Directory)
3. cd:切换目录(Change Directory)
## cd用法cd /home # 切换/进入home目录cd .. # 到上一目录(父目录)cd ../..# 到父目录的父目录cd .# 进入当前目录
4. cp:复制(Copy)
cp 常用参数:
-i:interactive mode,若有同名文件,会询问是否覆盖(如果没这个参数,会不提示,直接覆盖)-r:recursive copy,复制文件夹时连同子文件(夹)一起复制,如果是对文件夹进行操作,一定要带这个参数## cp用法cp -ir sourceDir/ home/targetDir/# 把当前路径下的sourceDir文件夹复制到home目录下,取名为targetDir,且带参数-i和-r
5. mv:移动(Move)
mv 参数:
-i:interactive mode ,同 cp 的 -i 参数,若覆盖会询问## mv用法mv -i sourceFile /home/targetFile# 把当前目录下的sourceFile剪切到/home目录下并命名为targetFile
6. rm:删除给定的文件(Remove)
rm 参数:
-i:interactive,同上,若覆盖,先询问-r:recursive mode,删除所有子文件(夹)## rm用法rm Dir/# 删除Dir文件夹(错误示例,会报错)rm -r Dir/# 删除Dir文件夹(正确,对文件夹操作一定要带-r)
7. mkdir:创建一个新目录(Make Directory)
## mkdir用法mkdir newDir/# 在当前路径创建一个空文件夹newDir/
8. rmdir:删除文件夹(Remove Directory)
## rmdir用法rmdir oldDir/# 在当前路径删除oldDir文件夹及其子文件(夹)
9. cat:查看文件内容(concatenate and print files)
## cat用法cat myFile# 显示myFile
10. tar:打包压缩、解压
tar 常用参数:
- jcv:压缩- jxv:解压## tar用法tar -jcv myDir/# 压缩myDir文件夹tar -jxv DownloadDir.tar.gz myDir/# 解压DownloadDir.tar.gz到当前文件夹下,并命令为myDir
11. zip、unzip:打包压缩、解压
-r:递归处理,将指定目录下的所有文件和子目录一并处理-d:解压用,用来指定解压目录
12. ps:查看进程(Process Select)
ps 常用参数:
-A:显示所有进程-a:不与 terminal 有关的所有进程-u:有效用户的相关进程-x:一般与 -a 一起用,列出完整的进程信息-l:long,详细列出 PID 的信息## ps用法ps Aux # 查看系统所有的进程数据ps ax
13. kill:杀死进程
kill 常用参数 :
SIGHUP:启动被终止的进程SIGINT:相当于 Ctrl + C,中断进程SIGKILL:强制中断进程SIGTERM:以正常的结束进程方式来终止进程SIGSTOP:相当于 Ctrl + Z,暂停进程## kill用法kill -SIGKILL 10876# 强制中断PID=10876的进程(PID可以通过ps查到,有时可以加上| grep进行筛选)
14. passwd:修改密码(Password)
## passwd用法passwd# 修改当前用户的密码
15. tee:显示并保存
显示内容并将内容保存在文件中:
python3.6 test.py | tee result.log# 运行test.py文件,显示编译与运行结果并保存成result.log文件
16. reboot:重启
## reboot用法reboot# 输完立马重启(记得保存文件)
17. date:时间相关指令
用来显示当前时间手动指定显示时间的格式date 指定格式显示时间:date +%Y:%m:%d
date 用法:date [OPTION]... [+FORMAT]
18. find:查找
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
find 单独使用时,必须指定目录查找或查找当前目录的文件find -name 文件名:遍历指定位置查找(范围较大时,较费时间)19. grep:按行查找并匹配
grep 参数:
-r:recursive,查找所有子文件(夹)-n:number,显示行号-w:word,完整匹配整个单词-i:insensitive search,忽略大小写-l:显示文件名称,而非匹配到的行的内容-v:反向选择,显示出没匹配到的行的内容语法: grep [选项] 搜寻字符串文件
功能: 在文件中搜索字符串,将找到的行打印出来,默认区分大小写
选项 | 功能 |
-i | 取消区分大小写 |
-n | 输出行号 |
-v | 反向选择,选择不带关键字的行 |
20. 扩展命令
Linux 不仅仅只有上面那些指令,还有许多指令需要学习:
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;文件处理命令:file、dd、diff、cat、ln;系统管理相关命令:df、top、free、quota、at、 lp、adduser、groupadd、kill、crontab;网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup;系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;其它命令:gunzip、unarj、mtools、unendcode、uudecode