【Linux】常用命令大揭秘,轻松驾驭终端世界
奶芙c 2024-06-28 09:37:02 阅读 50
常见命令大全
概念1.1:开源、闭源的区别1.2:应用场景
发行版XShell3.1:使用XShell登入主机3.2:普通用户的增加、删除3.3:查看账户的信息whoami指令who指令
文件和目录基本命令4.1:指令的周边知识文件路径Linux目录结构家目录、桌面理解echo指令重定向>、>>、<管道|
4.2:查看文件属性操作ls指令
4.3:路径切换操作cd指令
4.4:创建、删除操作touch指令mkdir指令rmdir、rm指令
4.5:显示系统手册页的命令man指令
4.6:拷贝、剪切操作cp指令(拷贝)mv指令(剪切)rz、sz指令scp指令
4.7:查看文件内容操作cat指令more指令less指令head指令tail指令
4.8:查看时间操作date指令cal指令stat指令
4.9:查找文件操作find指令which指令whereis指令grep指令
4.10:文本处理和使用工具sort指令uniq指令文本内容的去重
4.11:文件归档和压缩打包压缩、解压解包zip、unzip指令tar指令
4.12:其他uname指令重要的几个热键pwd指令安装和卸载alias指令tree指令
概念
Linux概念:Linux是用C语言、少量汇编写的,是一款源代码公开的操作系统软件。
1.1:开源、闭源的区别
开源:源代码公开可用,允许任何人查看、使用、修改、分发。大部分情况下是免费的。闭源:源代码不公开,只有特定的开发者或者授权用户可以访问。开源优点:代码稳定、效率高、安全、具有活跃的社区和强大的生态系统等。
1.2:应用场景
Linux具有广泛的应用场景、涵盖了在服务器、嵌入式、桌面、云计算、大数据等多个领域的发展。
发行版
Linux发行版分为两大类,分别是商业发行版和技术发行版。
商业发行版:Ubunt、Centos、Redhat、Kail、红旗等操作系统的品牌。技术发行版:主版本号. 次版本号. 修改次数。三者的改变相互影响,当次版本号为偶数时,说明该版本为稳定版本、当此版本号为奇数时,说明该版本为测试版本。eg : 6 . 5 . 3。
XShell
XShell概念:xshell是一款远程登陆软件,用于连接和管理远程服务器。
复制:ctrl + Fn + insert ;粘贴:shift + Fn+ insert ;退出、进入全屏模式:Alt + Enter ;
3.1:使用XShell登入主机
语法:ssh 用户名@云服务器的公网ip
3.2:普通用户的增加、删除
语法:adduser 用户名
功能:添加普通用户。
语法:passwd 用户名
功能:给普通用户设置密码。
语法:userdel -r 用户名
功能:删除普通用户。
3.3:查看账户的信息
whoami指令
语法:whomai
功能:显示当前登入系统的用户,即:查看当前账号是谁。
who指令
语法:who
功能:查看有哪些用户当前正在登录系统中,即:查看当前有哪些人登入了我的机器。
文件和目录基本命令
指令操作的理解:先有指令,再有图形化界面。两者本质是没有任何区别的,只是形式上的不同,对小白用户区别大。
4.1:指令的周边知识
文件
💡文件 = 文件属性 + 文件内容
问:新建一个空文件,是否需要占据磁盘或固态硬盘的存储空间呢?
答:需要。因为文件名、大小、时间等,都是文件的属性数据,本质也是数据,也需要被计算机存储起来。所以以后看到文件不要只看到文件的内容,而文件的属性也是数据。
文件属性、文件内容都是二进制数据,都需要占据磁盘的存储空间。对文件的所有操作,本质上是要么对文件的内容做操作,要么对文件的属性做操作。
路径
问:路径是什么?
答:路径具有唯一性,用于标识或者定位一个特定文件或者目录,它是通过多个路径分隔符(/)分割的,由多个目录或者文件名组成的字符串。
一个点(.)表示当前路径,两个点(. .)表示上级路径,用于进行路径切换,每个目录下默认都有一个点(.)、两个点(. .)的隐藏目录,它们都不会被删除、拷贝。路径分割符:Linux下为斜杆(/),Windows下为反斜杆()。具有分割目录和文件、标识文件的层次结构、提供可读性和可维护性等优点。根目录:它是文件系统的最顶层目录,通常用斜杆(/)来表示。
问:为什么要有路径?
绝对路径和相对路径
绝对路径:从根目录(/)开始,定位到一个指定目录或者文件,形成的路径,就叫做绝对路径。无论当前文件在哪里,它都能唯一定位到该文件,路径唯一。常用于配置文件中。相对路径:以自身当前所处的目录为参考起点,定位到一个指定目录或者文件,形成的路径,就叫做相对路径。常用于命令行中。
同级别目录下,不能出现同名目录/文件。因为是通过文件名来标识目录/文件,否则会造成路径不唯一。
Linux目录结构
Linux目录结构是一个树形结构(多叉树)
叶子节点一定是普通文件或者空目录。非叶子节点一定是目录。访问一个文件,需要先找到它,找文件的本质上是在一颗多叉树中进行节点的查找。
家目录、桌面理解
概念:在计算机系统中,为用户分配的一个专属目录,用于存放用户的个人文件和配置文件。
Linux下由两类用户,分别为超级用户root、普通用户。超级用户的家目录为/root、普通用户的家目录为/home/普通用户名。登陆时,默认所处的路径,就是当前登录用户的家目录。这个目录是用户的私有空间,用户可以在其内创建、修改、删除文件,不会影响其他用户的空间。在Windows下,桌面是有概念的,但本质上桌面是个文件。用户在登录时,你的家目录中就有桌面文件,Windows把桌面文件夹中的所有文件以图标的形式,展示到显示器上,就有了桌面。云服务器中是没有传统意义上"桌面"的概念。
echo指令
Linux下一切皆文件 -》Linux中大部分硬件都可以看作有读写方法,只不过有些方法可以为空 —》以文件的方式,进行统一处理,减少了Linux系统编码的维护成本。
语法 :echo “xxx”
功能 :向显示器文件进行写入。具有自动换行的功能。
重定向>、>>、<
输出重定向(>) :本来应该把内容向显示器文件进行写入,更改为向自定义文件进行写入。每次都会先清空目标文件的原始内容,再进行写入。
echo “xxx” >自定义文件
test
功能:a. 新建空文件 、b.清空目标文件。
追加重定向(>>):在目标文件的原始内容后进行写入,不会清空目标文件的原始内容。
输入重定向(<): 本来应该从键盘文件中读取内容,更改为从自定义文件中读取(输入)内容。
cat < 自定义文件
管道|
概念:是一种基本的进程间的通信机制,它允许一个进程的输入直接作为另一个进程的输出,通过在命令行使用竖线(|)来创建的。它允许用户将多个命令行连接起来,创建出一个命令序列,简化了复杂任务的处理。
4.2:查看文件属性操作
ls指令
语法:ls [选项] [目录或文件]
功能:对于目录而言,列出当前目录下所有子目录和文件名。对于文件而言,列出文件名。未指定任何目录时,ls默认显示当前工作目录下的内容。
常用选项:
-l :列出当前目录下所有文件的详细属性信息 ,ls -l命令等价于 ll命令。
-a : 列出当前目录下所有所有子目录和文件名,包括以.开头的隐藏文件和目录。-la:列出当前目录下所有文件的详细属性信息,包括以.开头的隐藏文件,ls -la命令等价于ls -al、ls -l -a命令。
-d:显示文件或者目录名,而不是显示其内的所有文件名。-ld:显示文件或目录的详细属性信息,而不是显示其内的文件属性信息,ls -ld命令等价于ls -l -d命令。
细节:键盘上的上、下箭头可以查看历史输入的命令。
4.3:路径切换操作
cd指令
语法:cd 相对路径/绝对路径。
功能:改变用户的工作目录。从当前工作目录切换到指定目录下,即:进行路径切换。
其他用法:
cd - :跳转到最近一次所处的工作目录。常用于在两个目录之间进行来回切换。
cd ~ : 跳转到当前用户的家目录。
cd . . : 返回到上级目录。
4.4:创建、删除操作
touch指令
语法:touch [选项] 文件
功能:在当前目录下新建一个空文件。
mkdir指令
语法:mkdir [选项] 目录
功能:在当前目录下新建一个空目录。
常用选项:
-p 路径 :路径中某些目录不存在,系统会自动创建尚不存在的目录,即:一次性建立多个目录。
rmdir、rm指令
语法:rmdir [选项] 空目录
功能:删除空目录。适用对象:具有当前目录操作权限的所有使用者。
功能:删除目录或者文件。适用对象:所有使用者。
常用选项:
-i : 对于普通用户而言,删除前进行逐一询问。
-f : 对于root用户而言,无需询问,直接进行删除。通配符* :删除当前目录下的所有文件,当前目录不删除。*为通配符,表示指定路径下的所有文件。不会删除该目录下的隐藏文件,若想删除,需要进行指定删除,仅限于自己创建的隐藏文件,但文件名为一个点(.)、两个点(. .)的隐藏文件,即使指定文件名进行删除,也不会真正被删除。
4.5:显示系统手册页的命令
man指令
语法:man [选项] 命令
功能:通过man手册查看命令的用法和功能。man 命令:默认从1号手册中依次向下查找,查找到了就立即输出内容,按q进行退出。
常用选项:
n :man 手册编号n 查找的内容,只在2号手册中查找。
4.6:拷贝、剪切操作
cp指令(拷贝)
功能 : 复制文件或者目录。
对于文件而言,若目标文件存在但不同名,则会进行内容的覆盖 。若目标文件不存在,则会创建新的文件,内容相同。若最后目的为目录,直接将源文件复制到该目录下(注意:同级目录下,不允许出现同名文件)。
对于目录而言, 若最后目的地为已存在的目录,则会递归式将源目录拷贝到该目录下(注意:同级目录下,不允许出现同名目录)。若最后目的地为不存在的目录,则会创建新的目录,内容相同。
常用选项:
-r : 递归式处理,将源目录以及其内的子目录和文件一并拷贝。-i : 对于普通用户而言,覆盖文件会进行询问。-f : 强制性复制文件或者目录。
mv指令(剪切)
语法:mv [选项] 源文件/目录 目标文件/目录
功能 : 移动文件/目录、给文件/目录重命名。
如果mv第二个参数为已经存在的目录,mv将第一个参数内容全部移动到该目录下。 如果为不存在的目录/文件,mv将对源目录/源文件重命名并移动到指定的目录下。
常用选项:
-f : 如果目标文件已存在,强制性进行覆盖,不会进行询问。
-i : 如果目标文件已经存在,覆盖前进行询问。
rz、sz指令
语法:rz [-E]
功能:将windows本地文件上传到远程Linux服务器中。Windows -> Linux之间进行文件传输。
语法:sz 文件
功能:将远端Linux服务器中的文件下载到window本地。Linux -> Windows之间进行文件传输。使用rz、sz之前,需要先进行yum安装lrzsz,yum install -y lrzsz。
scp指令
语法:scp Linux1中文件 Linux2的用户名@它的公网ip:指定路径
功能:Linux与Linux之间进行文件传输。
4.7:查看文件内容操作
cat指令
语法:cat [选项] 文件
功能 : 查看文件的内容,会刷屏。适用于小文件的查看。
常用选项:
-n : 对输出的所有行进行编号。
-b :对非空行进行编号。
-s : 不输出多行空行,即:去掉连续的空行,只保留一行空行。
tac : 逆向打印。
more指令
语法:more [选项] 文件
功能 : 查看文件,分页显示。适用于大文件的查看。只能摁Enter逐行往后翻,不可以往前翻。
常用选项:
-n : 对输出的所有行进行编号。q : 退出more。
less指令
语法:less [选项] 文件
功能 : 功能与more类似,但less可以随意浏览文件,more只能通过Enter往下翻,不能向前翻、less通过上下箭头实现上、下翻。 具有强大的搜索功能。 less在查看文件内容不需要一次性加载整个文件到内存中,即:分页显示。
常用选项:
-N : 对输出的所有行进行编号。q : 退出less。/字符串:向下搜索字符串。?字符串:向上搜索字符串。
head指令
语法:head [选项] [文件]
功能:打印文件的前10行的内容。
常用选项:
-n : 打印文件前n行的内容。
tail指令
语法:tail [选项] [文件]
功能:打印文件的最后10行的内容。
常用选项:
-n : 打印文件最后n行的内容。
4.8:查看时间操作
date指令
语法:date [参数] [+格式]
功能:指定格式显示时间。date后不加任何参数,默认显示的是当前的时间。
使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,常用的标记列表如下
%Y:年、%m:月、%d:日 ;
%F:相当于%Y-%m-%d ;
%H :时间、%M:分钟、%S:秒 ;
%X:相当于%H : %M :%S ;
时间戳:从1997/1/1_0:0:0开始到现在所经过的秒数。
时间 -> 时间戳:date +%s ;
时间戳 -> 时间:date [+格式] -d @时间戳 ;
cal指令
语法:cal [选项] [年份]
功能:用日历查看时间等信息。
常用选项:
-3 :只显示系统前一个月、当前月、下一个月。-j:显示在当年中的第几天。
stat指令
语法:stat 文件
功能:查看文件的状态信息。
日志:作用是辅助程序员进行问题排查。它是记录程序的运行过程、状态、错误和调试信息的重要机制。
例子:我从小就有写日记的习惯,某一天我消失了很久,爸妈十分着急,不得已去看我的日记本,希望能解决这个问题。爸妈相当于程序员、我相当于程序、日记本相当于日志,我消失了如同程序挂了,此时程序员需要查看日志进行问题排查和解决。
4.9:查找文件操作
find指令
语法:find [路径] [选项] [表达式]
功能:在文件系统中指定的路径下进行搜索文件,并且可以按照多种条件进行筛选,如:文件名、文件类型、文件大、修改时间等。在目录树中进行递归搜索,查找时需要指定路径。
常用选项:
-name : 按照文件名进行查找文件。
which指令
语法:which [命令]
功能:查找并显示给定命令在系统的哪个路径下(绝对路径)。一般只用于查找命令(可执行文件)。默认在系统指定的搜索路径下查找,一般为/usr/bin目录,但不全是。💡注意:命令就是可执行文件。命令 = 工具 = 程序。
补充:/usr/bin目录是Linux系统中一个非常重要的目录,主要用于存放系统的可执行文件,这些可执行文件通常是系统命令和一些应用程序的二进制文件。当用户在命令行输入一个命令时,系统通常会在该目录下查找该命令的可执行文件来执行它。
whereis指令
语法:whereis [指令]
功能:查找二进制可执行文件(命令)、以及其相关的源代码文件(如:头文件)和man手册页文件。在预先构建的数据库来执行搜索,意味着它不会搜索整个文件系统来查找匹配的文件,而是查询一个包含已知文件位置的数据库。比find搜索速度块,但没它全面。
grep指令
语法:grep [选项] ‘搜索关键字’ 文件
功能:行文本过滤器。在文件中根据指定’搜索关键字’,以行为基准进行查找,包含’搜索关键字’的行保留、反之舍去。
常用选项:
-n : 顺便输出行号。-i : 忽略搜索所关键字中的大小写,即:大小写视为相同。-v:反向选择,输出不包含’搜索关键字’的行。
grep命令通过管道和其他命令的结合使用,从而实现对文本数据的复杂分析。
4.10:文本处理和使用工具
sort指令
语法:sort [选项] 文件
功能:对文件进行排序。它将输入文本中的行按照字母ASCII值、数字、其他排序标准重新排序。为了将重复的内容放在一起,便于与uniq指令结合,达到去重的效果。
常用选项:
-r : 将排序后的结果反向输出。
uniq指令
语法:uniq [选项] 文件
功能 :对文件中相同且连续的内容去重,只保留一份。
常用选项:
-u : 只输出文件中无重复的行。-d : 只输出文件中重复的行,每个只输出一份。
文本内容的去重
sort test | uniq (去重)
sort test | uniq -c (显示去重后的内容在原文本中出现的次数)
sort test | uniq -c | wc -l (显示去重后,剩余内容的总行数)
4.11:文件归档和压缩
打包压缩、解压解包
打包压缩:将多个文件或者目录打包成一个单独文件,并使用压缩算法来减少文件大小。解压解包:将之前打包压缩好的文件还原成其原始的文件或目录结构。作用:防止文件丢失、安全;减小了文件的大小、节省了空间;提高了文件管理效率;在网络传输时,节省了时间。
zip、unzip指令
打包压缩的语法:zip [选项] 压缩文件.zip 文件或目录
功能:将文件或目录压缩为.zip格式,即:创建.zip压缩文件。
常用选项:
r :递归处理,将指定目录下所有文件和子目录一并压缩为.zip文件
解压解包的语法:unzip 压缩文件.zip [选项] 路径
功能:将压缩.zip文件还原成其包含的原始文件或目录。
常用选项:
-d:将压缩文件解压到指定的目录下。若不带此选项,默认解压到当前路径下。
tar指令
打包压缩的语法:tar -czf/cvzf dst.tgz src文件或目录
功能:将文件或目录压缩为.tgz(.tar.gz)格式,即:创建.tgz压缩文件。
常用选项:
-c : 创建一个压缩文件。-x:解开一个压缩文件。-z : 通过gzip压缩算法进行压缩或者解压。-v : 压缩或者解压过程中显示文件。-f :指定文件名,在f之后立即接文件名、不要再加参数。-C:解压到指定目录。若不带此选项,默认解压到当前路径下。
解压解包的语法:tar -xzf/xvzf 压缩文件.tgz [选项] 路径
功能:将压缩.tgz文件还原成其包含的原始文件或目录
4.12:其他
uname指令
语法:uname [选项]
功能 : 获取电脑和操作系统的相关信息。
常用选项:
-a:详细输出所有信息,依次为内核名称、主机名、内核发行号、内核版本、硬件架构名称、处理器类型、硬件平台、操作系统名称、版本信息。💡-r : 查看内核发行版(技术+商业) + 机器的处理器架构。(面试考过)
重要的几个热键
ctrl + c : 终止进程。
ctrl + d : 退出,关闭XShell,可用exit来进行替代。
Tab键:具有命令补全 + 文件补齐的功能。
上下箭头:可以查看历史命令,可用history来进行替代。
cat /etc/redhat-release (查看发行版)
cat /proc/cpuinfo (查看cpu)
cat /proc/meminfo (查看内存)
pwd指令
语法:pwd
功能:显示用户当前所在的工作目录
安装和卸载
安装:mv 可执行文件 /usr/bin
本质:将一个可执行文件移动到系统能够识别的路径下,eg :Linux下路径为/usr/bin。
alias指令
语法:alias 命令1='命令2’
概念:给命令行2取别名为命令行1,两个命令功能相同。
在命令行上进行命令的重命名,只有XShell关闭了,在重启XShell,这个功效就会自动消失。
tree指令
语法:tree [选项] 目录
功能:使当前目录以及其内子目录和文件以树状结构进行显示。
上一篇: 如何解决 Docker Compose文件无法拉取:解决运维技术领域的Bug :Failed to pull Docker Compose YAML file from GitHub reposito
下一篇: Linux下安装Oracle(命令行安装详细教程)
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。