linux基础:常用命令(这还不详细你来找我,我再加点。。。)

Linux命令

学习Linux时,会发现很多命令,并且命令的参数及其组合有时让人容易混淆,难记住,因此便有了下面的内容

1、命令格式

Command 【-Option(s)】【Parameter(s)

command : 命令的关键字
-options : 选项,控制命令,可以多个一起使用
Parameters :参数,执行命令的对象,可以是零个,一个或多个

2、查看命令帮助信息

-help

显示command命令的帮助信息

-man

manual的缩写,手册的意思,包含了linux中绝大部分的命令、函数的使用方式,当需要查看某个命令的参数时,可以使用man命令。
例如查看ls的使用手册

man ls

结果如下
在这里插入图片描述
使用man命令后的操作键如下

操作间作用
空格每次往下翻一个屏幕的内容
enter每次往下翻一行内容
b每次向上翻一页
f每次向下翻一页
q退出当前手册界面
/字符串查找指定字符串
n配合“/字符串”使用,可以快速调整到下一个指定字符串的位置

3、常用快捷键

3.1 放大和缩小终端窗口

ctrl + shift + +
放大窗口字体显示

ctrl + -
缩小窗口字体显示

3.2 table键自动补全
在输入文件、目录命令的前几个字母之后按下tab键,系统会自动补全命令

3.3 按键盘上下键可以来回切换使用过的命令

3.4 终止当前的命令

ctrl + c

4、文件和目录相关命令

注意:Linux 所有的 目录 和 文件名 都是大小写敏感的

(1)查看目录

ls命令
1、作用
列出目录的内容列表

2、linux下的文件和目录

  • Linux的目录和文件名称最长可以有256个字符参数
  • 以 . 开头表示是隐藏文件
  • . 表示当前目录
  • . . 表示当前目录的上级目录

3、ls常搭配的选项

命令作用
ls -a显示隐藏文件和隐藏目录,也就是以 . 开头的目录和文件
ls -R递归显示目录中的内容
ls -t显示目录中的内容列表,并且按照使用时间排序,默认是按照名字排序
ls -l显示详细信息
ls -F显示文件类型(名称后面带/表示目录,带*表示可执行文件,其他为普通文件)
ls -a -l表示详细显示所有文件和目录(包括隐藏文件),也可以写成ls -al

使用举例:
(1)ls -F
在这里插入图片描述
my.sh*表示可执行文件
opt/表示目录
其他的都是普通文件

(2)ls -l
在这里插入图片描述

分析如下

-rw-rw-r-- 1 swift swift 0 3月 3 11:14 a.txt
从左到右依次分析:
(1) “-” ---------文件类型,普通文件是“-”,目录是“d”,链接文件是“l”,块设备文件时“b”,字符设备文件时“c”,命令管道文件是p,sock文件时s
(2)“rw-rw-r–”---------权限设置,这里分三组,三个字符表示一组,如“rw-”为一组,这里三组的权限分别表示拥有者权限,同组人权限,其他人权限。
(3)“1”---------链接号
(4)“swift”---------拥有者
(5)“swift”---------拥有组
(6)“0”---------文件大小,这里为0是因为这个文件中没有内容,如果有内容就会是其他数字
(7)“3月 3 11:14 ”--------文件最后修改时间
(8)“a.txt”--------文件名

(3)ls -R
当一个目录是多级目录时test/test1/test2

ls -R test

在这里插入图片描述

pwd命令
查看当前所在目录的绝对路径


(2)切换目录

cd命令
作用:切换目录
有如下常用命令:

命令含义
cd切换到当且用户的主目录(/home/用户目录)
cd ~切换到当且用户的主目录(/home/用户目录)
cd .当前目录
cd …切换到上级目录
cd -在最近两次工作目录之间来回切换
cd 目录名切换到指定目录下

(3)创建文件或目录

touch 命令
作用:
(1)文件不存在时创建空白文件

touch 文件名

(2)文件存在时该命令表示修改文件创建时间
当a.txt已存在时

touch a.txt

表示修改a.txt的创建时间为当前
(3)可以同时创建多个文件

touch a b c d

mkdir 命令
作用:
(1)创建空目录

mkdir test

(2)创建多个平级目录

mkdir test1 test2 test3

(3)创建多级子目录

mkdir -p test1/test2/test3

-p表示如果子目录不存在则创建

(4)在当前用户家路径下创建一个子目录

mkdir ~/test

(4)删除文件或目录

rm命令

在使用rm命令时要十分谨慎,因为它删除文件后就不能在恢复
常搭配的选项

选项作用
-f强制删除
-r递归的删除目录下的内容(删除文件夹(目录)时就需要带上这个选项)
-i删除文件前提示确认

作用:
(1)删除一个文件

rm 文件名

(2)删除多个文件

rm 文件1 文件2 文件3

(3)删除文件时提示确认

rm -i a.txt

(4)强制删除非空目录(也叫文件夹)

rm -r -f 目录名

这条命令特别要注意,不要乱使用

(5)rmdir 命令删除空目录

rmdir test

(5)复制、移动文件或目录,修改文件名和目录名

cp命令
作用:复制文件或目录
格式:cp 【选项】源文件 目标文件

(1)当目标文件不存在时,则自动创建目标文件
(2)当目标文件存在时,则会将源文件中的内容覆盖目标文件中的内容
(3)可以搭配选项-i一起使用

常见选项:

命令作用
-d复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式
-f覆盖已经存在的目标文件而不给出提示
-i与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖
-p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中
-r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-I不复制文件,只是生成连接文件

举例使用
1、复制当前目录下a.txt文件内容到b.txt中

cp a.txt b.txt

2、复制多个文件到一个指定目录中

cp a.txt b.txt test

需要注意的是要求这些目录和文件都是存在的

3、复制文件夹和它的内容到另一个文件夹中

cp -r test1 test2

如果test2 目录不存在,则自动创建test2并把test1目录中的内容复制进去,不包含test1目录本身
如果test2目录存在,则把整个test1目录及其内容全部复制到test2中,包括test1目录本身

4、把test目录复制到test4目录中,并且修改目录名字为temp

cp -r test test4/temp

要求test4目录必须是存在的


mv 命令
具体样例:
(1)移动一个文件到目录中

mv a.txt test

(2)移动多个文件到目录中

mv a.txt b.txt test

(3)移动test目录中的a.txt文件到当前目录

mv ./test/a.txt .

(4)修改一个文件的名字

mv a.txt b.txt

(5)修改目录的名字

mv dir1 dir2

当dir2不存在时表示修改目录

(6)将一个目录移动到另一个目录

mv dir1 dir2

当dir2存在时


(6)查看文件内容

cat命令

cat命令的作用有
(1)查看文件内容(一次显示所有内容,适合查看内容较少的文本文件)
(2)文件合并
(3)追加文件内容(搭配)
(4)清空文件
(5)覆盖文件内容

常搭配的选项有

选项含义
-b对非空行输出行编号
-n对输出的所有行编号

相关使用:
(1)显示文件所有内容(当文件不存在时也可以自动创建文件

cat a.txt

(2)把a.txt和b.txt的内容合并到c.txt中

cat a.txt b.txt > c.txt

(3)把c.txt文件内容置空(清空文件)

cat /dev/null > c.txt

/dev/null(空设备文件或黑洞文件)是一个特殊的设备文件,所有写入其中的数据,都会被丢弃的无影无踪,/dev/null通常被用于丢弃不需要的数据输出,或作为用于输入流的空文件

(4)往b.txt文件中追加a.txt中的内容

cat a.txt >> b.txt

(5)用a.txt文件中的内容覆盖b.txt中的内容

cat a.txt > b.txt

more命令
more命令的作用有分屏显示文件内容,每次只显示一页内容,比较适合查看内容较多的文本文件。
cha

选项作用
空格每次往下翻一个屏幕的内容
回车键每次滚动一行
b向上翻滚一页
f每次想下翻一页
q退出当前查看内容界面
v进入vi模式在vi模式下,输入:q 则退出vi模式回到more的查看模式(1)在vi模式下,使用/stirng,查找指定字符串,例如,/the 就是查找这个单词(2)在vi模式下,n,配合/string命令,可以快速调整跳到下一个指定字符串的位置

less命令
less指令也是分屏查看文件内容,与more命令相似,当比more更强大,支持各种现实终端。less并不是一次性将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
在这里插入图片描述


(7)搜索查找文件

grep命令
grep 命令是Linux系统中一种强大的文本搜索工具,grep 命令允许对文本文件进行模式查找(正则表达式),常搭配管道符“|”一起使用

格式:grep 【选项】查找内容 源文件

常搭配选项有:

选项作用
-v显示不包含匹配文本的所有行(可以理解为与他有关的都不显示出来)
-n显示匹配行并且显示行号
-i忽略字母大小写

模式查找

参数作用
^a搜寻以a开头的行
y$搜寻以y结束的行

find命令
语法:find 【搜索范围】【选项】
常用选项:

选项作用
-name <查找方式>按照指定文件名查找模式查找文件
-user<用户名>查找属于指定用户名的所有文件
-size<文件大小>按照指定的文件大小查找文件

例如:
(1)根据名称查找/home目录下的hello.txt文件

find /home -name hello.txt

(2)根据拥有者查看/opt目录下用户名为nobody的文件

find /opt -user nodody

(3)查找当前目录下指定大小范围的文件

find / -size +20M

+n表示大于n,-n表示小于n,n表示等于n大小
M表示兆,1M = 1024k (注意事项:k不能大写)

locate命令
locate命令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位指定的文件,locate指令无需遍历整个文件系统,查询速度较快,为保证查询结果准确,一般需要定期更新locate时刻。
在第一次使用该命令查询前,要先使用updatedb命令创建locate数据库。
例如:
使用locate命令快速定为hello.txt文件所在目录

updatedb
locate hello.txt

(8)归档和解档、压缩和解压命令

归档,把若干个文件或目录简单的合并在一起,它并不对文件进行压缩,就是将多个文件前后连接在一起,形成一个大文件。另外还会额外的添加一些信息,所以归档后的总文件的大小,反而往往比之前文件之和还要大一些。
压缩,是一种通过特定的算法来减小计算机文件大小的机制,Linux中的文件压缩命令有多种,其中最常用的命令就是gzip、其他的还有bzip2。

tar命令相关选项
在这里插入图片描述


归档命令

将指定文件和目录归档

tar -cvf work.tar a b c test1 test2

在这里插入图片描述

c选项是创建新的归档文件,-v选项是显示归档过程,-f是指定归档到哪个文件中


解档命令

将指定归档文件解档并放到指定文件中

tar -xvf work.tar -C dir1

在这里插入图片描述

-x选项表示提取归档文件中的文件,-C表示切换到指定目录,这里就是把解档后的文件放到这个指定目录中


压缩命令

一般压缩的都是归档文件哦
gzip命令压缩

gzip work.tar

压缩后的文件为

work.tar.gz

bzip2命令压缩

bzip2 work.tar

压缩后的文件为

work.tar.bz2

tar命令压缩

tar -zcvf work.tar.gz a b c test1 test2

-z选项表示支持gzip解压文件的压缩和解压操作,-c表示归档或者压缩操作,-f指定压缩到哪个压缩包中,gzip压缩文件的后缀是.gz

tar -jcvf work.tar.bz2 a b c test1 test2

-j选项表示支持bzip2解压文件的压缩和解压操作,-v表示归档或者压缩操作,-f指定压缩到哪个压缩包中,bzip2压缩文件的后缀是.bz2

解压命令

gunzip命令解压.gz压缩文件

gunzip work.tar.gz

bunzip2命令解压.bz2压缩文件

bunzip2 work.tar.bz2

tar命令解压

tar -zxvf work.tar.gz -C dir2

-x表示解档或者解压操作,-C指定解压到哪个目录中

5、用户和用户权限相关命令

Linux系统一个多用户多任务的操作系统,任何一个要使用系统资源的用户都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户分为超级用户(root,也就是系统管理员)和普通用户,普通用户没有权限进行用户的添加,删除,密码设置值,修改权限等,但是通过sudo命令可以临时赋予普通用户root用户的权限。。。以下操作举例均在root超级用户下执行,所以没有用到sudo命令。

添加用户

useradd命令adduser命令
语法:useradd 【选项】用户名
语法:adduser 【选项】用户名

常用选项:

选项作用
-c备注 加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中
-d用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权
-e有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow
-f缓冲天数。限定密码过期后多少天,将该用户帐号停用
-g主要组。设置用户所属的主要组
-G次要组。设置用户所属的次要组,可设置多组
-M强制不创建用户主文件夹
-m强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下
-p密码。输入该帐号的密码
-sshell。用户登录所使用的shell
-uuid。指定帐号的标志符user id,简称uid

关于useradd的使用
例如:
(1)创建一个新用户xiaoming,将它的家目录设置在指定用户/home/user下(这个user用户必须是已经存在的)

useradd -d /home/user xiaoming

(2)创建一个新的用户swift,家目录为/home/swift,用户登录后使用bash

useradd -mk /home/swift -s /bin/bash swift

其中-mk选项作用是创建目录,并将创建好的用户放在这个目录下,-s选项作用是指定该用户使用的bash,命令最后一个单词是用户名称。

关于adduser的使用:
例如:创建一个用户xiaoming

adduser xiaoming

useradd和adduser的区别
useradd与adduser都是创建新的用户
(1)在CentOs下useradd与adduser是没有区别的
都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码。
(2)在Ubuntu下useradd与adduser的使用有所不同
1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。
2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。

在登录的用户为普通用户的情况下添加用户需要在useradd或者adduser前面加上一个sudo命令,因为普通用户没有权限创建用户。


用户密码设置

passwd命令
语法:passwd 用户名
给新建用户设置密码、给用户重置密码

passwd 用户名

普通用户给普通用户设置密码时要加上sudo命令。


删除用户

userdel命令
语法:userdel 【选项】用户名
超级用户可以随意删除普通用户,但普通用户想要删除普通用户时需要加上sudo命令

例如:删除用户,但保留其家目录

userdel 用户名

例如:删除用户以及用户家目录

userdel -r 用户名

例如:删除用户以及用户家目录并且是强制删除

userdel -r -f 用户名

查看用户信息

在这里插入图片描述

命令作用
cat /etc/passwd查看用户信息
cat /etc/group查看用户组信息

切换用户

su - 用户名命令

(1)普通用户间切换

su - 用户名

之后输入切换的用户名的密码

(2)普通用户切换超级用户

#直接输入su
su 
#或者
su - root

之后再输入密码

(3)超级用户切换到普通用户

su 用户名

超级用户切换到普通用户是不需要输入密码的


关于login shell和non-login shell的概念与区别
login shell指的是在取得bash接口的方法时需要完整的登录流程。
non-login shell指的是在取得bsh接口的方法时不需要重复登录的举动。例如:登录linux后,在启动终端terminal时输入一次账号密码之后不再需要再次输入账号密码。


从root切换到其他用户不用输入密码,从其他用户切换到root用户或其他用户需要输入密码。
当使用命令su 用户名从root用户切换到其他普通用户时,并不会切换shell环境,读取的变量配置方式为non-login shell的方式,这种方式很多原本的变量不会被改变,例如PATH变量。
当使用su - 用户命令进行用户间的相互切换或者普通用户切换到超级用户root时,shell环境会发生切换,会直接切换到新使用者的环境,连同PATH/USER/MAIL 等变量都转成新用户的环境。


用户文件权限修改

用户权限

通过ls -l命令可以查看文件或目录的相关权限。
例如:
查看b.txt的权限,如下

ls -l a.txt

在这里插入图片描述
上图中的标注部分就是当前a.txt文件针对用户的权限。

"-"表示没有权限
“r”表示可读权限
“w”表示可写权限
“x”表示可执行权限

一般都是三个字符一组来约束用户的权限的
例如:
第一组“rw-”表示当前文件对拥有者的权限,可读可写不可执行
第二组“rw-”表示当前文件对同组人的权限,可读可写不可执行
第三组“r–”表示当前文件对其他人的权限,只可读不可写和执行

权限修改

chmod命令修改权限

修改有两种方式

方式一:文字设定法,分别用加、减、等于号来表示添加、取消、赋予权限,如下:

在添加或删除某个权限的时候,一般用o表示其他人(others),一般用g表示同组人(group),一般用u表示拥有者(user),一般用a表示所有人(all)

chmod u+x b.txt
# 表示给拥有者添加一个可执行b.txt文件的权限
chmod g-r b.txt
#表示给同组人删除一个可读权限
chmod u+r,g-r,o+w b.txt
#表示分别给拥有者添加对b.txt文件的可读权限,删除同组人的可读权限,添加对b.txt文件的可读权限
chmod u=rw b.txt
#表示直接赋予拥有者可读和可写的权限,并且取消其他权限

方式二:数字设定法
0000 0001 表示x执行权限 -->十进制数据为1,所以用数字1代表x
0000 0010 表示w可写权限–>十进制数据为2,所以用数字2代表w
0000 0100 表示r可读权限–>十进制数据为4,所以用数字4代表r

通过任意权限组合相加得出来的数字结果都是唯一的。

如下:
1+2 = 3 表示**-wx**
1+4 = 5表示r-x
2+4 = 6表示rw-
1+2+4 = 7表示rwx

# 拥有者、同组人、其他人都可读可写可执行
chmod 777 a.txt

#拥有者、同组人可读可写可执行,其他人只可读
chmod 774 a.txt

虽然文件和目录都有三种权限–可读可写可执行,但还是存在着区别
对于文件:
可读:表示可以读取文件里的数据
可写 :表示可以改变和删除文件;
可执行:表示可以执行该程序。

对于目录:
可读:表示你可以列出目录中有什么文件;
可写:表示可以在目录中删除和增加文件;
可执行:表示可以列出目录下文件的信息。


chown命令修改文件所有者

# 将文件file的所有者改为新的所有者newOwner
chown newOwner file

如果修改的是目录(且该目录下还有子文件和子目录),那么可以加上选项-R,递归同时改变其下的目录的子文件和子目录
chown -R newOwner test

# 同时改变文件的所有者和所有组为newowner和newGroup
chown newowner:newgroup file

chgrp命令改变文件所在组

chgrp newgroup file 

如果修改的是目录(且该目录下还有子文件和子目录),那么可以加上选项-R,递归同时改变其下的目录的子文件和子目录
chgrp -R newOwner test


用户组管理

groupadd命令创建组
语法:groupadd 组名

#先创建组
groupadd 组名
#将用户添加到创建的组中
useradd -g 组名 用户名

usermod命令修改用户所在组

usermod -gid 组名 用户名
#简写
usermod -g 组名 用户名
#修改用户登录的初始目录
usermod -d 目录名 用户名

groupdel命令删除组

groupdel 组名

当某个账号还在使用该组,则不能删除

创建用户时指定用户组

useradd -gid 组名 用户名

用户和用户组的相关文件

/etc/passwd文件

用户的配置文件,记录用户的各种信息。
文件中每行的意义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

/etc/shadow文件

口令的配置文件
文件中每行的意义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/group文件

组的配置文件,记录Linux包含的组的信息
每行意义:组名:口令:组标识号:组内用户列表


补充:前面一直在说普通用户操作用户时要加上sudo命令,这个命令也就是给普通用户临时使用以下超级用户的权限而已,但每个新建用户一开始是没有sudo权限的,因为新建用户不在sudo这个用户组中,可以通过将新用户加入到sudo用户组的方式来获得该权限。

(1)切换到新建用户下,使用id命令查看用户信息,发现当前用户并不在sudo组中

id 新建用户名

(2)切换到root账号下,将新建用户添加到sudo组中

gpasswd -a 新建用户名 sudo

(3)切换到新建用户下,测试sudo命令是否可用,可以用id查看用户信息判断新用户是否在sudo组中,也可以通过sudo clear来测试sudo命令可不可用

(4)当不需要使用sudo时,先切换到root账户,使用下面的命令将新建用户从sudo组中删除

userdel -d 新建用户名 sudo


6、系统信息相关命令

时间与日期
命令作用
date查看系统时间
cal查看日历(加上-y选项可以查看一年的日历)
磁盘信息
命令作用
df -h显示磁盘剩余空间
du -h【目录名】显示目录下的文件大小
进程管理命令

1、查询进程
ps命令查询进程
ps 默认只会显示当前用户通过终端启动的应用程序

常用选项

选项作用
-a显示终端上的所有进程,包括其他用户的进程
-u显示进程的详细状态
-x显示没有控制终端的进程
ps aux

查看进程的详细情况

ps -ef

查看全格式的全部进程

在这里插入图片描述

分析:
UID = =》进程拥有者
​ PID = =》进程ID
​ PPID= =》父进程ID
​ C= =》CPU使用的资源百分比
​ STIME= =》进程开始时间
​ TTY= =》登入者的终端机位置
​ TIME= =》执行时间
​ CMD = =》操作命令

ps -ef | grep mysqld

查看指定进程的全格式内容
在这里插入图片描述


2、终止进程
kill命令:终止指定进程
语法:kill【选项】进程号
选项:【-9】,表示强制终止

killall命令:终止进程
语法:killall 进程名称
(通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时有用)


3、服务管理
服务本质上就是进程,但是是在后台运行的,通常服务会监听某个端口,等待其他程序的请求,因此又称之为守护进程,例如(防火墙,mysql,sshd等)

下面命令都是centOs中的
service 命令
语法:

service 服务名称 操作命令

常用的操作命令有:
(1)start启动服务
(2)stop终止服务
(3)restart重启服务
(4)reload重新加载服务
(5)status服务状态

例如:
重启防火墙。

service iptables restart

但在centos7.0之后的版本不再使用service,而是使用systemctl命令,但使用时和service命令一样,并且在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,而不是iptables

systemct命令
语法:

systemctl 【start/stop/reload/restart/status】 服务名称

如启动防火墙

sysstemctl start firewall

此外,在Ubuntu中,防火墙的启动停止与centos还是有区别的
例如
在Ubuntu中,
sudo ufw status命令查看当前防火墙状态;inactive状态是防火墙关闭状态 ,active是开启状态
sudo ufw enable命令来打开防火墙,
sudo ufw disable命令来关闭防火墙。


4、进程监控服务

4.1 动态监控进程
top命令
作用:动态显示运行中的进程并且可以更新正在进行的进程,并且可以排序相关进程
语法:top 【选项】

常用选项

选项作用
-d 秒数指定top命令每隔几秒更新,默认是3秒
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程ID来仅仅监控某个进程的状态

交互操作

操作作用
P以CPU使用率进行排序(默认情况下就是这个)
M以内存的使用率排序
N以PID排序
q退出top命令
k杀死某个进程
u查看用户名

4.2 查看系统网络情况

netstat命令
基本语法:netstat 【选项】

选项作用
-an按一定顺序排列输出
-p显示哪个进程在调用

7、软件安装/卸载相关命令

不同发行版的与安装有关的命令是不同的,这里就拿Ubuntu和centOs来做对比

Ubuntu

apt list:列出所有可安装的软件包
dpkg -l:查看所有已安装的软件包
dpkg -i 包名 :安装软件包
apt-get install 包名:安装软件包
apt-update:更新安装包资源
apt-get clean:清除已下载的旧安装包
apt-get remove 软件包:卸载软件包但会保留软件的配置文件
**apt-get pruge 软件包 **:卸载软件包并清除软件配置文件
apt -cache search 包名:搜索软件
apt-get source 包名:获取源码包
apt-file update;apt-file search 文件名:查找文件所在包
dpkg -S 文件路径:查询文件所在包
dpkg -L 包名:列出包中的内容


CentOs

yum list:列出所有可安装的软件包
yum install -y 包名:安装软件包
rpm -ivh 包名:安装程序包
yum search 包名:搜索软件包
rpm -qa:查看所有已安装的软件包
rpm -ql 包名:列出包中的内容
rpm -qf 文件路径:列出一个文件属于哪个包
rpm -e 包名:卸载程序
yum clean all :清除旧资源,更新资源
yum provides “*/vim”:查找命令所对应的包
yum remove 包名:卸载软件
yum search 源码包:获取源码包
yum install 源码包:安装源码包
*yum provides 文件名:查找文件所在包


8、远程管理常用命令

Linux关机和重启

1、shutdown

#立即关机
shutdown -h now  
#一分钟后关机
shutdown -h l 
#立即重启
shutdown -r now 

2、halt
直接使用,效果等于关机

3、reboot
重启系统

4、syn
把内存的数据同步到磁盘

5、logout
注销用户
logout注销在图形运行级别无效,在远程登录(运行级别)下有效果

查看配置网卡信息
ifconfig命令

作用:查看/配置计算机当前的网卡配置信息

#查看网卡配置信息
ifconfig
#查看网卡对应的ip地址
ifconfig | grep inet
ping命令

检测目标ip地址连接是否正常。

ping ip地址
#如下
ping www.baidu.com

在这里插入图片描述

9、特殊字符

1、通配符

通配符作用
*可以代表任意个数个字符
可以代表任意一个字符
[字符组]表示可以匹配字符组中的任意一个字符
[a-f]表示匹配从a到f范围内的任意一个字符

例如:
(1)列出所有txt后缀的文件

ls *.txt

(2)删除所有txt结尾的文件

rm *.txt

(3)查看文件名中含有ab且后缀为.txt的文件

ls *[ab]*.txt

(4)查看文件名中含有a或者b的文件

ls *[ab]*

(5)查看a.txt文件或者b.txt文件

ls [ab].txt

2、分割符;

表示在一行语句中连续执行多个命令,命令之间使用分号进行分割
例如:先cd回到家目录,然后再执行ls命令

cd;ls

3、重定向符>和>>

将原本输出到命令行中的内容,重定向输入到另外一个地方。

>表示往文件中写入内容,是覆盖操作

例如:将hello写入到a文件中

echo "hello" > a

a文件如果不存在,则自动创建,a文件如果存在,则覆盖之前的内容

例如:cal命令输出的日历写入到a文件中

cal > a

** >>** 表示往文件中写入内容,是追加操作

例如:先把date命令显示的日期写入到a文件中,再把cal显示的日历追到a文件中

date >> a
cal >> a

4、管道符|

|前面命令的结果作为|后面命令的参数
例如:查看/etc/passwd文件中的内容并筛选出与bin相关的信息

cat /etc/passwd | grep "bin"

grep命令会对结果进行过滤筛选

10、其他命令

echo命令

作用:会在终端中显示参数指定的文字,通常会和重定向联合使用

向a.txt中输入hello

echo “hello” > a.txt
echo "hello" >> a.txt

tree命令

作用:可以以树状图列出文件目录结构。

which命令

作用:which命令可以查看执行命令所在的位置,如

which ls
# 输出:/bin/ls
which useradd
# 输出:/usr/sbin/useradd

history命令

作用:可以查看之前使用过的一些命令

clear命令

作用:清屏

sudo命令

作用:暂时提高普通用户的权限,也就是使用root用户的身份来执行命令。
格式:sudo 其他命令
例如:一个普通用户如果想要修改文件的权限

sudo chmod 777 hello.txt

注意:并非所有用户都能够运行sudo命令,而是仅有规范到/etc/sudoers内的用户才能够运行sudo命令
可以先切换到根目录下,再使用cat /etc/sudoers查看该配置文件,如图:
在这里插入图片描述
可以发现其中有三个组root、admin、sudo,他们的权限都为All=(All:All) All,表示基本拥有所有权限,他们就不需要提升用户的权限去执行命令。

那么怎么让指定用户拥有sudo命令权限呢?有两种方式:
第一种方式:vim命令修改/etc/sudoers配置文件中的内容,将指定的用户组添加到该配置文件中
步骤
(1)第一步:由于通常/etc/sudoers配置文件默认是只读的,对root来说也一样,因此需先添加sudoers文件的写权限,命令是:chmod u+w /etc/sudoers
(2)第二步:切换到/etc目录下,cd /etc,然后使用vim sudoers命令修改配置文件,添加这样一行指定用户名 ALL=(ALL)ALL即可
(3)补充:如果出现sudo: unable to resolve host iZuf69b3ukcunchz57pmf8Z错误,需要修改host配置,使用管理员身份编辑vi /etc/host,之后将对应的host添加到localhost后即可127.0.0.1 localhost iZuf69b3ukcunchz57pmf8Z

第二种方式:将指定用户添加到sudo组中
假设有个普通用户swift,所属组为自身swift组
步骤:
(1)第一步:在当前用户下通过id命令查看当前用户所在组
在这里插入图片描述

看所属组,swift用户只属于swift组。
(2)第二步:切换到root用户,使用命令gpasswd -a swift sudo将swift用户添加到sudo组中,添加后再次切换到swfit目录,使用id命令查看用户信息,如图:
在这里插入图片描述
删除指定用户的sudo权限
同样对应两种方式
第一种:查看/etc/sudoers配置文件中是否有指定的组,有的话vim命令编辑文件并删除相关内容
第二种:将指定用户从sudo组中删除
切换到root用户下,使用命令gpasswd -d swift sudo删除sudo组中的指定用户,如图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值