前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转shell命令 | Linux常用命令大全

玩转shell命令 | Linux常用命令大全

作者头像
mindtechnist
发布2024-08-08 17:26:31
520
发布2024-08-08 17:26:31
举报
文章被收录于专栏:机器和智能

前言

本文详细介绍了Linux的基本知识和一些基本指令,这些指令是使用Linux的基本技能。在介绍命令的同时,把相关的一些Linux知识也进行了扩展,比如在讲解文件的权限命令时,介绍了文件详细信息中各个位的含义,通过权限掩码怎么求8进制数字权限,在比如在讲解建立软硬链接命令的同时,对软硬链接的本质和区别进行了分析等等。另外,还给出了一些初用Linux时可能会遇到的问题及解决方法,比如Linux时间和本地时间不一致问题的解决、CentOS 6无法使用yum安装的解决方法等等。本文讲解的命令全部都在目录中一一列出,如果只是想了解某个命令的使用,可以直接在目录跳转(这也是为什么使用每个命令做目录的原因)。

一、常用命令

(1)tab键命令补全

按一下tab键可以补全命令,如果有多个命令可以匹配,那么按两下tab键可以提示匹配的命令。

比如要查看某个文件dm_exit.c,输入cat dm按两次tab键出现提示,直到唯一匹配的时候,tab键会把命令自动补全。

(2)查询历史命令

查询历史命令有两种方法,一个是使用history命令,第二个方法是直接按上下键。history会列出所有的历史命令,上下键是一条一条的列出上一条或下一条命令(按一次显示一条)。

(3)清屏

代码语言:javascript
复制
clear

clear命令可以清除当前屏幕,如果使用鼠标往上滚动还是可以看到以前的输出的。

(4)echo输出变量或字符串

直接输出一个字符串:

输出一个变量:$代表的是环境变量,下面的命令用于查看当前使用的shell是什么。

(5)ls命令、Linux的目录结构、绝对/相对路径

1° ls命令 ls查看目录下的文件(Linux中一切皆文件)。 ① ls -al 显示所有文件及详细信息,隐藏文件也会显示, -l 表示显示详细信息(用户、权限、大小、时间等,将在后面命令中介绍), -a表示显示所有文件。

其中 . 表示当前目录 .. 表示上一级目录,前面带一个 . 的文件都是隐藏文件,如果不加 -a 选项就无法看到,比如下面我们建一个隐藏文件,分别用不带 -a 选项和带 -a 选项查看

② ls -R 选项,递归显示子目录,他会把子目录和子目录的子目录全部显示出来。

③ ls -lrt 按时间顺序显示,且显示详细信息,文件会按照最后访问时间进行排序显示出来。

④ 使用通配符 * 和 ? *号可以代表任意个字符,下面命令表示显示所有.c文件

代码语言:javascript
复制
ls *.c

?只能表示一个字符

更多的选项可以通过man命令查看, man ls

2° Linux目录结构

目录

用途

/

根目录

bin

存放了系统可执行程序

boot

存放了内核和启动程序的相关文件

lib

库目录,存放了系统的动态共享库

media

挂载设备媒体、U盘、光驱等,比如我们插入U盘拷贝数据的时候,U盘就会被自动识别为media

usr

一般会将很多应用安装在此目录,/usr/local 用户自己安装文件的目录

sbin

超级管理员root的执行程序

proc

系统内存映射,会保留一些进程运行信息

etc

系统软件启动和配置目录

dev

设备文件目录

home

用户家目录,其实就是 ~

3° 绝对路径与相对路径 绝对路径是指 ==/==开头的路径,比如 /home/qq/dm01_cmd/

使用绝对路径,不管当前目录是什么,都能根据绝对路径到达目的路径。 相对路径就是以 . 开头以及 . . 开头的路径,前面说过,一个点表示当前目录,两个点表示上一级目录,比如现在dm01_cmd目录下有aa和bb两个目录,当前在aa目录中,通过 cd …/bb 就以相对路径(上一级目录的bb目录中)的方式进入了bb目录。

(6)pwd查看当前目录

通过pwd命令可以查看当前在那个目录。

(7)man查看帮助手册

man man 查看man的帮助手册,进入man帮助手册后,可以按上下键一行一行的移动,enter键和下键一样,也是按行滚动,使用空格键可以一页一页(一个屏幕)的滚动翻页。按q就可以退出man帮助手册。

上面几个数字是比较有用的,比如 2 System Calls 代表系统调用,当我们查找系统调用函数的帮助手册时可以加这个参数,比如 man 2 fork 查看fork函数的帮助手册。

(8)date查看系统时间,以及时间校准方法

可以直接date获取时间,也可以按照自己需要的格式获得系统时间,各种格式的说明可以通过man date获得。

如果你的时间不准确可以通过下面方法解决: 首先安装时间同步服务,执行下面的命令

代码语言:javascript
复制
yum install ntp -y

然后执行下面命令即可同步网络时间

代码语言:javascript
复制
ntpdate cn.ntp.org.cn

再次查看时间,如果发现时间和实际时间还是不一致,应该考虑时区设置问题,查看系统时区是不是本地时区,使用vim编辑器打开 /etc/sysconfig/clock

代码语言:javascript
复制
vim /etc/sysconfig/clock

ZONE后面显示的就是时区

我们把之前的时区屏蔽,修改为本地时区,比如我所在位置为"Asia/Shanghai",然后关闭硬件时钟与UTC时间一致功能

代码语言:javascript
复制
ZONE="Asia/Shanghai"
UTC=false
ARC=false

设置linux时区为上海,在命令行输入

代码语言:javascript
复制
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步时间,如果没有ntpdate需要根据前面介绍先安装ntp服务

代码语言:javascript
复制
ntpdate time.nist.gov

然后在根目录下执行命令设置硬件时间和系统时间一致

代码语言:javascript
复制
./sbin/hwclock --systohc

再次执行date查看时间并对比本地时间,可以发现时间正常。

(9)alias命令重命名或自定义命令

这个命令可以帮助我们把一个很长的命令自定义为一个简短的名字,或者把一些常用的复杂操作重命名为一个方便使用的命令。 查看当前已有的命令别名:

自定义一个命令,比如我们学习Linux的时候,每次开机都要进入到一个存放自己练习文件的目录,我是在下面路径中,所以每次开机都要敲一遍这个路径

代码语言:javascript
复制
cd /home/qq/dm01_cmd

通过alias可以把它命名为一个简单的命令

代码语言:javascript
复制
alias gotest='cd /home/qq/dm01_cmd'

直接执行gotest就可以达到 cd /home/qq/dm01_cmd的效果

这里 cd ~ 是回到家目录的意思。 使用unalias可以删除命令别名

可以看到别名gotest没有了。 另外也可以在家目录(~目录,通过 cd ~进入)下的 .bashrc文件中进行配置

(10)bc计算器

bc命令可以进入计算器,进行一些简单计算,输入要计算的表达式后,按回车输出结果

按 quit 退出,不能简写为q

二、目录操作相关命令

(1)tree命令安装及使用

Linux中的目录都是树状的,一层一层的,使用tree命令可以树形显示目录,并递归显示子目录。如果没有安装过tree的话需要使用yum命令安装一下(我用的CentOS操作系统)

代码语言:javascript
复制
yum install tree

如果是Ubuntu系统应该使用apt-get命令

代码语言:javascript
复制
sudo apt-get install tree

这里提示一下,如果你使用的是CentOS 6,那么你的yum命令可能会报错

代码语言:javascript
复制
错误:Cannot find a valid baseurl for repo: base

这是因为CentOS 6已经停止更新了,我曾因为yum这个错误疯狂尝试各种方法,最后查资料看到CentOS 6已经停止更新,这里有一个解决方法,在shell下输入下面的命令

代码语言:javascript
复制
sed -i.old -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\//baseurl=http:\/\/vault.centos.org\/centos\/6\//g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all

然后再次使用yum命令就发现yum可以正常使用了。这时可以安装tree了

代码语言:javascript
复制
yum install tree

tree命令可以看到目录的层级结构,非常好用。

(2)cd切换目录

① 有关目录的一点小知识 一般来说我们在命令中写路径的时候都会在后面加一个 / ,比如我们写一条切换到某路径的命令

代码语言:javascript
复制
cd /home/qq/dm/dm_gcc/main/

对这条命令中的目录进行分析,首先第一个 / 代表根目录, home/ 代表家目录, qq/ 代表qq目录,dm/ 代表dm目录,dm_gcc/ 代表dm_gcc目录, main/ 代表main目录,这条命令就是切换到main目录中的意思。

如果我们要去上一级目录中的某个目录,应该这样

代码语言:javascript
复制
cd ../header/

代表去上一级目录下的header目录,其中 …/ 就表示上一级目录,如果是当前目录用 ./ ,说这些的目的是为了告诉大家,我们在写目录的时候会在后面加一个 / 来表示这是目录,大家不要写了这么多命令还不知道命令中的 / 是什么意思。有时候,如果路径只有一层,可以不加 /

② 回到家目录home的4种方式

代码语言:javascript
复制
cd ~  
cd - 
cd /home
cd $HOME

(3)mkdir创建目录

mkdir cc/dd 在已有目录cc下创建dd,如果当前cc目录不存在就要加一个 -p 选项,该选项的意思是递归创建目录。

(4)rmdir删除目录

rmdir命令只能删除空目录(只有 .. . 的目录),不能删除非空目录,非空目录要加 -p 选项递归删除子目录。

如果子目录太多(目录层次太深)这个命令就不好用了,可以用rm命令删除

一般使用rm比较好,因为他还用于删除文件,在后面会详细介绍。

(5)which查看路径

which可以查看一个命令所在的路径

可以看到这些命令都在 /bin 目录下,但是也有例外

这是因为 cd命令是BASH shell本身自带的命令,不在任何目录中。

三、文件相关命令

1. 文件操作命令

(1)touch创建文件

touch+不存在的文件名,创建一个文件。

如果touch后面是一个已经存在的文件,那么将会更改文件的最后访问时间。

(2)rm删除文件

Linux下一切皆文件! 删除目录的时候一般要加上 -r 选项,表示递归删除子目录(因为Linux中的目录是树状的)

-f选项表示强制删除

代码语言:javascript
复制
rm -rf *

这条命令表示强制删除当前目录的所有内容( * 适配任意个字符)。 删除多个文件,直接在rm命令后写上多个文件的文件名即可

代码语言:javascript
复制
rm -f 1.c 2.c 3.c 

更多的选项可以通过 man rm 查看。

(3)cp拷贝命令

cp命令的使用要分为几种情况:

  • 目标文件存在和目标文件不存在;
  • 目标文件是文件还是目录;

① 首先目标文件不存在的情况,会直接把源文件拷贝一份并命名为目标文件名;

② 目标文件已存在,源文件会覆盖目标文件,并重命名为目标文件名;

③ 目标文件是目录,会把源文件拷贝到目标目录中,如果源文件目录有子目录,需要加 -r选项递归拷贝子目录。

(4)mv文件移动

和cp命令一样,也要考虑情况: ① 目标文件不存在,相当于给源文件重命名,和cp的区别是,cp之后源文件依然存在,但是mv之后源文件就没了。

② 目标文件存在,将覆盖目标文件,并且源文件消失(区别于cp命令)

③ 目标文件为路径,会将源文件移动到目标路径下面。

2. 文件内容相关

(1)cat查看内容

查看文件的内容,加 -n 选项可以显示行号。

(2)more按屏查看内容

more可以只显示一屏的文件内容,并且在屏幕下方会显示百分比,按enter将一行一行的滚动翻页,按空格可以一屏一屏的滚动翻页,当显示到100%会自动结束,more不能向上翻页。

(3)less按屏查看

less比more功能更多一些,less可以使用上下键翻页,每次滚动一行,enter按行向下滚动,空格按屏向下滚动,上键按行向上滚动(more不可以上翻),并且less显示到末尾不会自动退出,按q键手动退出。

(4)head查看文件头部

如果不加选项参数,默认显示文件的前十行,通过 -n选项可以指定显示行数

(5)tail查看文件尾部

如果不加选项参数,默认显示文件的后十行,通过 -n选项可以指定显示行数

tail通常的用法是通过 -f 选项一直显示文件尾,通过该选项可以不停的显示文件尾部信息,如果文件尾部信息发生变化,那么tail会立马显示出来,通过 tail -f 可以用于追踪日志变化,比如在通信中,我们通过日志打印连接情况,这样就可以在终端不停的显示最新的连接情况。通过SecureCRT克隆会话功能,可以实现一个会话用于通信中的各种操作,另一个会话通过 tail -f 追踪日志变化。

3. 文件权限与用户属性

当我们使用 ls -l 查看详细信息的时候,会看到文件的详细信息,每部分的含义请看下图

说明:目录都是具有可执行权限的,如果把目录权限修改为不可执行,那么目录将无法进入;目录大小一般都是4096字节,也就是4kb。

  • 文件类型介绍:

文件类型

含义

d

目录文件

-

普通文件

l

软连接(符号链接)

b

块设备

p

pipe管道设备

s

本地套接字

c

字符设备

  • 文件权限介绍

权限

含义

r

读权限

w

写权限

x

执行权限

权限位是按照 读权限-写权限-执行权限 顺序排列的,第一位表示读权限,有则写 r,无则为 - ;第二位是写权限,有则写 w ,无则为 - ;第三位是执行权限,有则写 x ;无则为 - 。对应的权限位数字表示法为,有权限为1,无权限为0。下面举例说明:

(1)umask查看8进制文件掩码

umask可以查看文件权限的掩码,那么什么是权限掩码呢?这应该分文件和目录两种情况来考虑,因为二者的默认权限是不同的。 ① 目录 以上面看到的aa目录为例,它的权限为 rwxr-xr-x 用数字表示是0755,那么用umask查看它的8进制权限掩码为0022

目录默认的满权限为0777,用掩码0022对满权限0777取反得0755,再用0755&0777,得到0755这就是目录aa的权限。或者直接 0777-0022=0755 也可。 ② 文件 文件默认满权限是0666,所以应将文件掩码对0666取反再相与,或0666减去掩码,比如文件3.c,0666-0022=0666 对应 rw-r–r–。

4. 修改用户权限

我们在命令行的时候可以看到最前面有一个 # 或者 $ 他们分别代表超级用户root和普通用户。 # :超级用户root,管理员用户

$:普通用户

我的前面是一个 # 说明我当前用的是root超级用户。 我们通常会有用户和用户组,用户组的存在方便了对用户的管理,比如对一个文件,我给某个用户组相应权限,其他用户没有权限,那么这个用户组就可以方便的对文件进行相应操作。注意,root是超级用户,它不属于任何一个组,且具有最高权限。

(1)whoami我是谁

查看当前用户

(2)chmod修改用户权限

① 直接增删权限 chmod [u/g/o/a] [+/-] [r/w/x] u:用户,修改当前用户的权限 g:组,修改当前用户组的权限 o:其他用户,修改其他用户的权限 a:所有用户,修改所有用户权限 +:增加权限 -:去除权限 r:读权限 w:写权限 x:执行权限 通过上面的组合来达到修改权限的目的。举例:

比如上面的1111.txt文件,我们要去除它的用户写权限,应该使用的命令组合是

代码语言:javascript
复制
chmod u-w 1111.txt

然后我们要给所有用户增加写权限,应使用

代码语言:javascript
复制
chmod a+w 1111.txt

② 使用8进制数字权限修改文件权限 比如,我们给1111.txt当前用户和用户组只有写权限,无读权限,无可执行权限,其他用户没有任何权限,那么这个权限的8进制数字表示为 0220,可以使用命令

代码语言:javascript
复制
chmod 0220 1111.txt

可以看到,1111.txt原先的 rw-rw-rw- 变成了 -w–w----。 第一种方法适用于对一个用户(或用户组)增减删除某个权限,如果需要要修改的权限位比较多的话,使用8进制数字修改更为方便。

(3)chown修改文件归属用户

需要管理员权限

代码语言:javascript
复制
sudo chown qq:qq1 1111.txt

该命令是让1111.txt归属于qq用户组的qq1用户。

(4)chgrp修改文件所属组

需要管理员权限

代码语言:javascript
复制
sudo chgrp qq2 1111.txt

该命令是让1111.txt归属于qq2用户组。

5. 软链接和硬链接

首先介绍以下什么是软链接,什么是硬链接。 ① 硬链接 硬链接是指通过索引节点来进行链接。在Linux文件系统中,存放在磁盘中的文件都会有一个索引节点号(inode index),硬链接就是多个文件名对应同一个索引节点,硬链接就是指向一个磁盘文件的有效路径名,硬链接文件和源文件是同一个文件。 ② 软链接 软链接也叫符号链接,它是一个文件,文件中保存了指向文件的位置信息。

通过 ll 命令查看源文件,软链接和硬链接如上图所示,可以看到硬链接和源文件大小一致,而软链接不同,并且在软链接后面还有个箭头标志 -> 指向了源文件。并且可以看到硬链接和源文件的链接数都是2,而软链接的链接数是1。 实际上,对于软硬连接的本质可以这么理解: 软链接其实是新建立了一个文件,会新建一个inode节点,这个文件保存了源文件的位置,也就是指向了源文件,你可以把它理解为Windows下面的快捷方式,或者理解为C语言中的指针,如果删除软链接,源文件不会受到任何影响,因为软链接和硬链接是两个不同的文件,但是如果删除源文件,虽然软链接不会受影响,但是他就失去了意义,可以对比C语言指针去理解。 硬链接不会建立新的inode节点,和它源文件是同一个文件,只是将链接计数加1,所以硬链接不可以跨文件系统,可以把硬链接理解为C++中的引用,如果我们修改了源文件,那么硬链接的内容也会相应修改,软链接就是源文件的别名而已。当我们删除硬链接的时候,链接计数就会减一,当链接计数为0的时候,源文件就被删除了,对于硬链接就按照C++引用去理解。 我们可以通过 ls -i 选项来查看文件i节点来验证

硬链接和源文件具有相同的i节点,说明他俩是同一个文件,硬链接不会建立新的i节点,只是将链接数加1,而软链接有自己的i节点,说明软链接是一个单独的文件,和源文件不是一回事。那么硬链接和copy有什么关系呢,copy得到的是一个单独的文件,修改它对源文件无任何影响,所以硬链接和copy无任何关系,硬链接是指,两个连接引用同一块磁盘空间(拷贝是拷贝了一块内存空间,总共两个不同的空间)。

(1)ln建立软硬连接

建立软链接的时候要加一个 -s 选项

(2)unlink删除链接

unlink可以删除软链接或硬链接,unlink每次删除一个硬链接,文件的链接计数就会减1,当链接计数为0时,文件被删除(所有链接被删除,磁盘空间就无法找到了)。

如果使用 rm 删除源文件,那么软链接失效,硬链接计数减1。

可以看到硬链接计数减一,软链接变成红色失效了。

四、查看空间占用相关命令

(1)wc统计

选项: -w :统计单词数 -l :统计行数 -c :统计字节数

查看2.txt的单词数、行数、字节数分别为2、2、6。

(2)du查看占用空间大小

① 查看当前目录占用空间情况

② 查看某一个目录占用空间情况

③ -h选项,按照适合程序员观看的方式显示(显示单位K)

④ 多级子目录只显示一级 –max-depth=1 选项,指定子目录递归最大深度

(3)df查看磁盘使用情况

显示磁盘使用情况,以及按照GB单位显示

更多选项可以通过man获取。

五、查找及检索相关命令

(1)find查找

① 按名称查找 -name 选项,比如查找所有C文件,可以用 * 适配名称。

② 按类型查找 -type 选项,这里的类型是指 f 普通文件 d 目录 ,可通过man查看。比如查找所有目录文件:

③ 按大小查找 -size 选项,比如查找大于0M,小于3M的文件

④ 指定最深路径 -maxdepth

(2)-exec、-ok选项和xargs

① -exec 选项 exec函数族会在Linux进程编程讲解,这里使用exec是把前面的执行结果传给后面的指令去执行,比如我们执行这样一条命令:

代码语言:javascript
复制
find -maxdepth 1 -size -1M -exec ls -l {} \;

这个命令的意思是,递归一层子目录查找小于1M的文件并显示详细信息 ,exec的作用是把 find -maxdepth 1 -size -1M 指令的结果传递给后面的指令 ls -l 去执行。 ② -ok 选项

代码语言:javascript
复制
find -maxdepth 1 -size -1M -ok ls -l {} \;

-ok和 -exec 的作用一样,都是把前面指令的结果传递给后面的指令去执行,只不过 -ok 是一种安全模式,每一条都会询问。这个选项在删除时应优先使用,可以防止误删重要文件。

代码语言:javascript
复制
find -maxdepth 1 -size -1M -ok rm -r {} \;

③ 使用管道 | 管道配合xargs实现查找并显示详细信息

代码语言:javascript
复制
find -maxdepth 1 -size -1M | xargs ls -l

这里注意,exec是把前面的结果一下子全部传给后面去执行,如果前面的结果太多,可能会造成后面指令溢出,使用xargs会把前面的结果分成很多部分,按块传给后面的指令。

(3)grep筛选

① 筛选信息 比如在aa目录及所有子目录中筛选"main",并显示"main"所在的行号

② cat 3.c | grep main 查看3.c文件并筛选出main

② cat 3.c | grep -v main 查看3.c文件并排除出main

可以看到,在查看3.c文件的同时把 int main() 这句话排除掉了。 ③ 搭配find使用 比如查找普通文件并且筛选出txt类型的文件

六、压缩文件管理相关命令

(1)zip压缩与unzip解压

zip和unzip命令对应的是 .zip 类型的压缩包。 zip -r 压缩并递归压缩子目录,比如

代码语言:javascript
复制
zip -r 1.zip aa 1111.txt

会把aa以及aa的所有子目录和1111.txt一块压缩为1.zip。

压缩后得到一个 .zip 压缩文件

解压命令

代码语言:javascript
复制
unzip 1.zip

(2)gzip压缩和gunzip解压

gzip和gunzip命令对应的是 .gz 类型的压缩包,它的特点是只能压缩文件,不能压缩目录。

(3)tar命令

这是最常用的压缩解压缩命令,推荐优先使用。 ① 首先介绍选项参数:

-c 压缩文件

-x 解压文件

-f 指定压缩文件名

-v 显示信息

-z 压缩为 .gz 格式,默认压缩为 .tar 格式

② 压缩一个文件

③ 压缩为gz格式并解压

因为 -v 的存在,在压缩时会显示压缩信息。 解压gz文件

④ -j 压缩为bzip2 格式

(4)rar压缩包

a 压缩 x 解压缩

代码语言:javascript
复制
rar a -r 1111 1111.txt

把1111.txt压缩为1111并自动添加后缀名。

代码语言:javascript
复制
rar x 1111

解压压缩包。

七、软件安装与卸载命令

(1)apt-get命令

需要连网并直到软件名,用于Ubuntu等

代码语言:javascript
复制
#安装tree软件
apt-get install tree
#卸载tree软件
apt-get remove tree
#更新源,即更新/etc/apt下的sources.list文件
sudo apt-get update
#清理包
sudo apt-get clean

(2)yum命令

如果是CentOS操作系统,要用 yum 命令安装软件,同样需要连网,直接通过软件名下载安装。 如果遇到这个错误,可以通过命令行输入下面的命令解决

代码语言:javascript
复制
sed -i.old -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\//baseurl=http:\/\/vault.centos.org\/centos\/6\//g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all

具体请见第二章,(1)tree命令安装及使用,有详细说明。

代码语言:javascript
复制
#安装软件
yum install tree
#卸载软件
yum remove tree

(3)dbkg根据安装包安装

dbkg 命令不需要连网,只要有 deb 安装包即可

代码语言:javascript
复制
#根据安装包安装软件
sudo dbkg -i tree.deb
#移除软件包
sudo dbkg -r tree.deb

(4)源码安装

一般步骤如下: ① 解压源码包; ② cd dir 进入目录; ③ ./configure 执行配置文件,检测文件是否缺少,创建Makefile,检测编译环境; ④ make 编译源码,生成可执行文件和库; ⑤ sudo make install 执行安装; ⑥ sudo make distclean 删除与卸载软件;

八、进程管理与网络命令

1. 进程管理命令

更多进程的信息将会在进程编程篇讲解。

(1)who查看登陆设备

查看登陆设备

(2)ps查看进程信息

ps aux 和 ps ajx

(3)kill杀死进程

代码语言:javascript
复制
#pid表示进程号
kill -9 pid

(4)env环境变量

(5)top查看系统信息

按 q 键退出

2. 网络命令

(1)ifconfig

ifconfig是我们最常用的网络命令之一,可以查看IP等信息,其中 eth0 表示本地第一块网卡。

图中标出的就是本机的IP,如果需要远程登陆本机或者与本机通信就用这个IP。

(2)ping

这也是一个常用的网络命令,可以测试网络是否连通,可以直接加域名测试网络是否连通

下面一直在发东西,说明网络连通了,但是他会一直发,除非手动 ctrl+c 终止,或者通过 -c 选项限制次数,比如只ping4次,4次后他就会自动停止

也可以ping一个IP,来测试两台主机是否连通

代码语言:javascript
复制
ping 192.168.80.0

(3)nslookup

通过域名得到IP

(4)netstat

查看网络连接状态

九、用户管理命令

1、用户管理

这里的命令都要加 sudo 管理员权限

(1)useradd增加用户

选项: -g :指定组

-d :指定用户家目录

-m :家目录不存在时自动创建

我们现在增加一个用户Q

(2)groupadd增加组

增加一个Q用户组

代码语言:javascript
复制
sudo groupadd Q

(3)passwd设置密码

passwd修改密码

(4)su切换用户

将root用户切换为新建的Q用户,并使用 whoami 查看当前用户,可以看到 @ 前面的root也变成了Q,说明现在是Q用户。

切换到用户Q并带有环境变量

代码语言:javascript
复制
sudo - Q

切换到root用户

代码语言:javascript
复制
sudo su

如果在做这些操作的时候不是在root用户下,那么就要输入密码进行操作。

(5)userdel删除用户

代码语言:javascript
复制
#删除用户Q
sudo userdel Q
#删除用户Q以及它的家目录
sudo userdel -r Q

2、关机命令

关机开机挺麻烦的,这里的命令就不演示了,直接摆上命令。

(1)shutdown关机

立即关机

代码语言:javascript
复制
shutdown -h now

(2)poweroff关机

代码语言:javascript
复制
poweroff

(3)init 0关机

代码语言:javascript
复制
init 0

(4)reboot重启

代码语言:javascript
复制
reboot

总结

Linux基础命令篇结束,Linux命令要多用多查,学习Linux命令最好的资料就是man,学会如何有效利用man会大大提高Linux的水平,能够快速查找到最权威的一手资料。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器和智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、常用命令
    • (1)tab键命令补全
      • (2)查询历史命令
        • (3)清屏
          • (4)echo输出变量或字符串
            • (5)ls命令、Linux的目录结构、绝对/相对路径
              • (6)pwd查看当前目录
                • (7)man查看帮助手册
                  • (8)date查看系统时间,以及时间校准方法
                    • (9)alias命令重命名或自定义命令
                      • (10)bc计算器
                      • 二、目录操作相关命令
                        • (1)tree命令安装及使用
                          • (2)cd切换目录
                            • (3)mkdir创建目录
                              • (4)rmdir删除目录
                                • (5)which查看路径
                                • 三、文件相关命令
                                  • 1. 文件操作命令
                                    • (1)touch创建文件
                                    • (2)rm删除文件
                                    • (3)cp拷贝命令
                                    • (4)mv文件移动
                                  • 2. 文件内容相关
                                    • (1)cat查看内容
                                    • (2)more按屏查看内容
                                    • (3)less按屏查看
                                    • (4)head查看文件头部
                                    • (5)tail查看文件尾部
                                  • 3. 文件权限与用户属性
                                    • (1)umask查看8进制文件掩码
                                  • 4. 修改用户权限
                                    • (1)whoami我是谁
                                    • (2)chmod修改用户权限
                                    • (3)chown修改文件归属用户
                                    • (4)chgrp修改文件所属组
                                  • 5. 软链接和硬链接
                                    • (1)ln建立软硬连接
                                    • (2)unlink删除链接
                                    • (1)wc统计
                                    • (2)du查看占用空间大小
                                    • (3)df查看磁盘使用情况
                                    • (1)find查找
                                    • (2)-exec、-ok选项和xargs
                                    • (3)grep筛选
                                    • (1)zip压缩与unzip解压
                                    • (2)gzip压缩和gunzip解压
                                    • (3)tar命令
                                    • (4)rar压缩包
                                    • (1)apt-get命令
                                    • (2)yum命令
                                    • (3)dbkg根据安装包安装
                                    • (4)源码安装
                                • 四、查看空间占用相关命令
                                • 五、查找及检索相关命令
                                • 六、压缩文件管理相关命令
                                • 七、软件安装与卸载命令
                                • 八、进程管理与网络命令
                                  • 1. 进程管理命令
                                    • (1)who查看登陆设备
                                    • (2)ps查看进程信息
                                    • (3)kill杀死进程
                                    • (4)env环境变量
                                    • (5)top查看系统信息
                                  • 2. 网络命令
                                    • (1)ifconfig
                                    • (2)ping
                                    • (3)nslookup
                                    • (4)netstat
                                • 九、用户管理命令
                                  • 1、用户管理
                                    • (1)useradd增加用户
                                    • (2)groupadd增加组
                                    • (3)passwd设置密码
                                    • (4)su切换用户
                                    • (5)userdel删除用户
                                  • 2、关机命令
                                    • (1)shutdown关机
                                    • (2)poweroff关机
                                    • (3)init 0关机
                                    • (4)reboot重启
                                • 总结
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档