Linux基本操作命令

简介: Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

一、Linux概述

1.简要介绍

1、Linux内核最初只是由芬兰人林纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。(Unix)

2、Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

3、Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。


2.特点

1、开源:用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。(!=免费)。

2、多用户:各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。

3、多任务:可以多个程序同时独立地运行。

4、良好的界面:Linux同时具有字符界面和图像界面。建议大家使用字符界面(也被称为命令行界面)。

5、支持多平台:可以在多种硬件平台上安装和运行,如X86或嵌入式系统


3.发行版

Linux的发行版说简单点就是将Linux内核与应用软件做一个打包


Linux主要的发行版

1.RedHat Linux:红帽企业级Linux,它有众多的程序支持,同时也可以提供技术服务,由于他是商业化产品,所有不是免费的。

2.CentOS:一款企业级Linux,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标,免费版。

3.其他: Ubuntu、Debain、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等

Ø1.4.3.Linux应用领域

从嵌入式设备到超级计算机,并且在服务器领域使用非常多。


4.目录结构

1.Linux系统的目录是一个倒树型的结构,最大的目录是/(根目录).

2.二级目录作用如下:

bdb193c53ae511e693b5a731eff12b94_acf3f038cc972a5a9526e60ed852f14d.png

/bin:二进制可执行文件,系统常规命令。

/boot:启动目录,存放系统自动启动文件、内核、初始化程序。

/dev:系统设备管理文件。

/etc:大部分服务的配置文件。

/home:普通用户的家目录。:存放普通用户的主目录。

普通用户的家目录包含在超级用户的家目录中。

在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。

/lib:函数库:系统开机所需要最基本的动态连接库。几乎所有应用程序都需要用到这些共享库。

/lib64:64函数库:等同lib。


二、常用命令

1.文件管理

1.1.ls命令 显示目录中文件及其属性信息

ls命令来自英文单词”list“的缩写,中文译为“列出”,其功能是用于显示目录中文件及其属性信息,是最常被使用到的Linux命令之一。


1.1.1.语法格式

ls [参数] [文件名]


1.1.2.常用参数



1.1.3.参考示例

ls

显示当前目录中的文件名(默认不含隐藏文件)

ee60caf2f321006105fa78511d44ad9a_bc7b559c4365f29bd5d41902a0d96769.png


ls -a

显示当前目录中的文件名(含隐藏文件)

c2581ec17fb10ae9a8e0bf3bfca4a755_0d574cab35edd4eccd9a88e200024447.png


ls -l

以详细信息模式输出文件名及其属性信息

479c01a8036fd1ece37573aa488c9123_e3b57df560d210a3ed3d8943754661a6.png


ls …/bin

显示指定目录中的文件列表

9f0edef122df2a95055f1585d53cd0d0_e483af00ae3115892661164a9aaf006e.png


ls /dev/sd*

结合通配符一起使用,显示指定目录中所有以sd开头的文件列表

f1b9f89a08d40216eadf227e2aae49ba_5e3f2431b74d9556ced3ae48357e18d0.png


ls -Sl ./

依据文件内容大小进行排序,显示指定目录中文件名及其属性详情信息

75671de54ab60b0f26b0fc475717c0d8_4fe117e3f75d89fe666ac8db487fd51f.png


1.2.cp命令 复制文件或目录

cp命令来自英文单词“copy”的缩写,中文译为“复制”,其功能是用于复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记添加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。


1.2.1.语法格式

cp [参数] 源文件名 目标文件名


1.2.2.常用参数



1.2.3.参考示例

cp ace-quartz.jar ace-quartz.jar_20230724bak

复制指定源文件,并定义新文件名称

8c7e43ca2f6293c4c353ef158ff209e1_ff7ed96c98d04b392b9ffa38ad785d27.png


cp -r ace-quartz ace-quartz-20230724

复制指定源目录,并定义新目录名称

14931bfdb50b63df6e97b53d52971cdb_95c52ef2006bd6e6f6b561f7d8960596.png


cp -a ace-quartz.sh ace-quartz-bak.sh

复制文件时,保留其原始权限及用户归属信息

4c133004be7b5b8f739a842dc669cada_16187cb91883c4c73866ca1af17d2850.png


cp -f File1.cfg /etc

将指定文件复制到/etc目录中,并覆盖已有文件,不进行询问


cp File1.cfg File2.cfg /etc

将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖


1.3.mkdir命令

mkdir命令来自英文词组”make directories“的缩写,其功能是用来创建目录文件。使用方法简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系时,例如/Dir1/Dir2/Dir3/Dir4/Dir5,要想一次性创建则需要加入-p参数,进行递归操作。


1.3.1.语法格式

mkdir [参数] 目录名


1.3.2.常用参数



1.3.3.参考示例

mkdir Dir1

创建一个目录

61633950b0439129dd1ca407677c05ef_596016e4a5fe6d8ea314c6001d998dff.png


mkdir -m 700 Dir2

创建一个目录文件并设置700权限,不让除所有主以外任何人读、写、执行它

bb1fac5626ec449cba313b62bd5d4b7d_3fc24e4c209fd9a000838edfd58aefac.png


mkdir Dir3 Dir4 Dir5

一次性创建多个目录文件

1eed719f4197686ae3575674962eacfa_5bbf01b081323b9ac24c8649a982db6b.png


mkdir -p ./Dir1/Dir2/Dir3/Dir4/Dir5

在系统根目录中,一次性创建多个有嵌套关系的目录文件

f8c38c3da2cddded98637816d9567e67_ddb78aad39e1480041c7007fca6e90c7.png


1.4.mv命令 移动或改名文件

mv命令来自英文单词”move“的缩写,中文译为”移动“,其功能与英文含义相同,能够用于对文件进行剪切和重命名操作。这是一个被高频使用的文件管理命令,我们需要留意它与复制命令的区别。cp命令是用于文件的复制操作,文件个数是增加的,而mv则为剪切操作,也就是对文件进行移动(搬家)操作,文件位置发生变化,但总个数并无增加。 而在同一个目录内对文件进行剪切的操作,实际应理解成重命名操作


1.4.1.语法格式

mv [参数] 源文件名 目标文件名


1.4.2.常用参数


1.4.3.参考示例


mv Dir6/ Dir7

对指定文件进行剪切后粘贴(重命名)操作

993eca441c5fd6c33209e3b082fd03b7_d07d745dcf550968e021035d0f1f2df7.png


mv ace-quartz.log Dir7/

将指定文件移动到/etc目录中,保留文件原始名称

67b00671ed05e6efa40ab7ddb8c83b54_af6dcb797e830d721ffd83da6840d269.png


mv ace-quartz.log Dir2/ace-quartz.log_bak

将指定目录移动到/etc目录中,并定义新的目录名称

e05017563f8029504c14dde7a7ce8b47_ed5272e15b2014e8ea8cf9f816c38ecb.png


mv -f /home/* .

将/home目录中所有的文件都移动到当前工作目录中,遇到已存在文件则直接覆盖

82fa413dbe3c954d95dccf7656021ff4_232b3ee0441b3b6ae870b08990267060.png


1.5.pwd命令 显示当前工作目录的路径

pwd命令来自英文词组“print working directory”的缩写,其功能是用于显示当前工作目录的路径,即显示所在位置的绝对路径。

在实际工作中,我们经常会在不同目录之间进行切换,为了防止“迷路”,可以使用pwd命令快速查看当前所处的工作目录路径,方便开展后续工作


1.5.1.语法格式

pwd [参数]


1.5.2.常用参数



1.5.3.参考示例

pwd

显示当前工作文件目录

03ce8aba4be3bba437debf9a35d9c5fd_7f3d04b10cb4813d5a6562ca85f1507e.png


1.6.tar命令 压缩和加压缩文件

tar命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件。对于RHEL7、CentOS7版本以后的系统,解压缩时可以不添加格式参数(如z或j),系统也能自动进行分析并解压。

把要传输的文件先进行压缩再进行传输,能够很好地提高工作效率,方便分享


1.6.1.语法格式

tar 参数 压缩包名 [文件或目录名]


1.6.2.常用参数



1.6.3.参考示例

tar zcvf Dir2.tar.gz Dir2/

使用gzip压缩格式对指定目录进行打包操作,显示压缩过程,压缩包规范后缀为.tar.gz

0c1896c086d861400a6b8aa7a7e39483_e4cdf6504beafeb15d08368b489c2907.png


tar zxvf Dir2.tar.gz

解压指定压缩包到当前工作目录

9ef44dcf7dc97be97c645affc4fc8b3d_e2105e6549e967e1bf3a40fdd37e9fce.png


tar zxvf Dir2.tar.gz -C Dir3/

解压指定压缩包到/etc目录

912b8b2a9e6eb8778965637d6ab1c605_6c6eee5bb4771b06db6a743103602312.png


tar tvf Dir2.tar.gz

查看某个压缩包内文件信息(无需解压)

d3b936a0677ca31aea705d505d7c7ca0_bc5898926d5ce1644b35ccd9e0a2384b.png


1.7.cat命令 在终端设备上显示文件内容

cat命令来自英文词组”concatenate files and print“的缩写,其功能是用于在终端设备上显示文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head……等等,每个命令都有各自的特点。cat命令适合查看内容较少、纯文本的文件。 对于内容较多的文件,使用cat命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按Ctrl+c键中断命令执行,所以对于大文件,干脆用more命令吧


1.7.1.语法格式

cat [参数] 文件名


1.7.2.常用参数



1.7.3.参考示例

cat ace-quartz.sh

查看指定文件的内容

6c2b2b8c1408fd2f696ce7e0c9eaf5d8_0e48a0a428a16a642f3164b82d5a4490.png


cat -n ace-quartz.sh

查看指定文件的内容并显示行号

af18dc427e994e8bae12cd1dc09f4ac3_629b60ad0d5419b7bba7c1f124115f3b.png


cat /dev/null > ace-quartz.jar_20230724bak

搭配空设备文件和输出重定向操作符,清空指定文件内容

dbafbca8d57edb613433b9d927d9f065_a7ebee6c8e46602eb3892204403836f6.png


1.8.echo命令 输出字符串或提取后的变量值

echo命令来自英文单词“回声”,其功能是用于在终端设备上输出指定字符串或变量提取后的值,能够给用户一些简单的提醒信息,亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息再来进行二次处理,又或是同输出重定向符一起操作,将信息直接写入到文件中。

如需提取变量值,需在变量名称前加入$符号做提取,变量名称一般均为大写形式。


1.8.1.语法格式

echo [参数] 字符串或$变量名


1.8.2.常用参数



1.8.3.参考示例

echo linux

在终端打印指定内容

23121d46d8cd9c3227122d056ea4b4d4_9f9631ef652f24b17696988fa4460a37.png


echo $PATH

输出某个变量值

7ea52f81501706cfdfa26e43a6b98edb_e206d70f4e6853162b1d32e6d49ac1b3.png


echo “Hello World” > Doc.txt

搭配输出重定向符一起使用,将字符串内容直接写入文件中

57de35070d66fc7005d22390c62887b2_09d09edee9d9e843445bc3798ffb9892.png


echo -e “First\nSecond\nThird”

输出带有换行符的内容

51fd00e84d3b9f1d895a7af15a7dd54e_8b7cf5916d02ec70249881c21d7a7df3.png


1.9.rm命令 – 删除文件或目录

rm命令来自英文单词“remove”的缩写,中文译为“消除”,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。

rm也是一个很危险的命令,使用的时候要特别当心,尤其对于新手更要格外注意,如执行rm -rf /*命令则会清空系统中所有的文件,甚至无法恢复回来。所以我们在执行之前一定要再次确认下在哪个目录中,到底要删除什么文件,考虑好后再敲击回车键,时刻保持清醒的头脑。


1.9.1.语法格式

rm [参数] 文件名


1.9.2.常用参数



1.9.3.参考示例

rm Doc.txt

删除文件默认会进行二次确认,敲击y进行确认

c252c4100fa51f9bf0427e3f44f03e82_9a47100c49e740c17d3331d06d8c8904.png


rm -f Doc.txt

强制删除文件而无需二次确认

3e5877641ee6c5b854ee6f9b881405e1_bc6eb6cdf601d2365ed4b6f052877ee2.png

删除指定目录及其内的全部子文件,一并都强制删除

8cbe5bde9f375254d2d7c70b60e8b68b_eba72a00d26d90498b72cdcd1073ffda.png

rm -rf Dir2

删除指定目录及其内的全部子文件,一并都强制删除

8cbe5bde9f375254d2d7c70b60e8b68b_eba72a00d26d90498b72cdcd1073ffda.png


rm -rf ./*.txt

强制删除当前工作目录内的所有以.txt为后缀的文件

100cddf1c117ee9d68d81dfa194929e5_770722567ca24c0693479104bd76dbbf.png


rm -rf /*

【离职小妙招,谨慎!!!】强制清空服务器系统内的所有文件 , 一般不要使用!!!


1.10.grep命令 强大的文本搜索工具

grep来自英文词组“global search regular expression and print out the line”的缩写,意思是用于全面搜索的正则表达式,并将结果输出。人们通常会将grep命令与正则表达式搭配使用,参数作为搜索过程中的补充或对输出结果的筛选,命令模式十分灵活。

与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作是标准搜索命令,那么egrep则是扩展搜索命令,等价于“grep -E”命令,支持扩展的正则表达式。而fgrep则是快速搜索命令,等价于“grep -F”命令,不支持正则表达式,直接按照字符串内容进行匹配。


1.10.1.语法格式

grep [参数] 文件名


1.10.2.常用参数



1.10.3.参考示例

grep root /etc/passwd

搜索指定文件中包含某个关键词的内容行

0724d07be4f1be38c3c4061e23d6351f_c572430c4d8fb8753b892c76400db495.png


grep ^root /etc/passwd

搜索指定文件中以某个关键词开头的内容行

aff32bc1da7770c6c6437f310cc946ee_0a9ed765b503ce6c36aea60cfe5c3804.png


grep linuxprobe /etc/passwd /etc/shadow

搜索多个文件中包含某个关键词的内容行

c5f33de2c91d32aafcc1b8e5c6fce6dd_1aaecedefa49df6624e3783c19e4e1b0.png


1.11.tail命令 查看文件尾部内容

tail命令的功能是用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾十行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名来加以区分。

高阶玩法的-f参数作用是持续显示文件的尾部最新内容,类似于机场候机厅的大屏幕,总会把最新的消息展示给用户,对阅读日志文件尤为适合,再也不需要手动刷新了。


1.11.1.语法格式

tail [参数] 文件名


1.11.2.常用参数



1.11.3.参考示例

tail ace-quartz.2022-09-05.0.log

默认显示指定文件尾部的后10行内容

60acc7afa89e758ebd3c223b99766e01_2fb98e6dc72225b9cb49abfef84a4076.png


tail -n 5 ace-quartz.2022-09-05.0.log

指定显示指定文件尾部的后5行内容

5eab5b5ce08cb5695e3d47054978146a_e14f73b2ec0d527608c6e05fbefd60af.png

tail -f ace-quartz.2022-09-05.log

持续刷新显示指定文件尾部的后10行内容

a72bd0dcdf340100a40012388112486b_df9dba3d2107ca535655ebeb2fb49873.png


1.12.find命令 根据路径和条件搜索指定的文件

find命令的功能是用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员日常工作必须掌握的命令之一。

find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate……等的有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,会相对消耗较多的系统资源


1.12.1.语法格式

find [路径] [条件] 文件名


1.12.2.常用参数



1.12.3.参考示例

find / -name *.conf

全盘搜索系统中所有以.conf结尾的文件

ae77289ec03748ad9d83f07792efefef_e0bfb1b3f5506349e3e7039da34e3150.png


find /etc -size +1M

在/etc目录中搜索所有大于1M大小的文件

d8ac2f67f37e50b4c1670e9915cc90e6_9431fe53bad47f5c7dbcaed3d7df93f8.png


find /home -user es

在/home目录中搜索所有属于指定用户的文件

67e1235d6f6edf34c160556a7c18a123_c3e6fb67a35e54515f382c26c88606ed.png


find /var/log -iname “*.log”

在/var/log目录下搜索所有指定后缀的文件,后缀不需要大小写

3b55434bf5b90818bcc0cd23a69853f1_a5bc030f8a0a73cc8a4bf4b3c0752c4b.png


1.13.ps命令 显示进程状态

ps命令来自英文单词“process”的缩写,中文译为“进程”,其功能是用于显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源使用占比(处理器与内存)、运行状态等等。帮助我们及时地发现哪些进程出现“僵死”或“不可中断”等异常情况。

经常会与kill命令搭配使用来中断和删除不必要的服务进程,避免服务器的资源浪费。


1.13.1.语法格式

ps [参数]


1.13.2.常用参数



1.13.3.参考示例

ps aux

显示系统中全部的进程信息,含详细信息

a4af7130814fe5dbf9ed4ac707d80ef6_9ffb0fee1db9b545da02b476ab1af20a.png


ps aux > File.txt

结合输出重定向,将当前进程信息保留备份至指定文件

7259bbfd29ee8ae7393e4ca4f730a4b8_91c3689c152c3c85056d031b47b92cc7.png


ps -ef | grep ssh

结合管道操作符,将当前系统运行状态中指定进程信息过滤出来

552359d90b2f5ed9a5991ec2f120e469_3d07da2317755801918c8f57f2a2635c.png



ps -u root

结合管道操作符,将当前系统运行状态中指定用户的进程信息过滤出来


三、其它命令

3.1.防火墙操作

1.关闭/开启防火墙

systemctl stop firewalld.service

systemctl start firewalld.service

systemctl status firewalld.service

若无法开启

先用:systemctl unmask firewalld.service

然后:systemctl start firewalld.service


2.开启开机自启动

systemctl enable firewalld.service


3.关闭开机自启动

systemctl disable firewalld.service


4.查看防火墙状态

systemctl status firewalld


5.开启端口

#(–permanent永久生效,没有此参数重启后失效) #注:可以是一个端口范围,如1000-2000/tcp

firewall-cmd --zone=public --add-port=80/tcp --permanent


6.重启防火墙(重新载入,更新配置)

firewall-cmd --reload


7.查询某个端口是否开放

firewall-cmd --query-port=80/tcp


8.移除端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent # 或

firewall-cmd --permanent --remove-port=123/tcp


9.查询已开放的端口列表

firewall-cmd --list-port


3.2.环境变量配置

1.编辑文件

vim /etc/profile


2.输入配置

export JAVA_HOME=/home/language/jdk1.8.0_201

export JRE_HOME=J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.:JAVA

H

OME/jreexportCLASSPATH=.:{JAVA_HOME}/lib:J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH=JRE

H

OME/libexportPATH={JAVA_HOME}/bin:$PATH


3.刷新配置

source /etc/profile


3.3.ifconfig 查看ip

3.4.kill -9 进程号 杀死进程

3.5.touch 文件名 创建一个文件

3.6.unzip 文件名 解压以.zip结尾的文件

3.7.ping ip ping指定的IP

3.8.more 文件名 查看指定文件的内容

3.9.top 动态的查看系统中的进程

相关文章
|
1天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
190 2
|
1天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
14 0
|
1天前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
13 3
|
1天前
|
监控 Linux 数据处理
|
1天前
|
编解码 Ubuntu Linux
|
1天前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
11 0
|
1天前
|
安全 Linux 测试技术
|
1天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
13 2
|
1天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
1天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器