Linux基础知识汇总,看这一篇就够了(2022最新整理)

2022-04-08 14:59:56 浏览数 (1)

小白学习Linux?有这一篇就够了

文章目录

  • 前言
  • 一、Linux入门概述
  • 二、常用快捷键
  • 三、Linux常用命令
  • 总结

前言

想入门Llinux,新手不知道Linux怎么入门?有这一篇就够了

提示:以下是本篇文章正文内容,下面案例可供参考

一、Linux入门概述

概述

Linux全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。 目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE

到 公众号窗 口私 信 ,即 可 下 载 (官方下载链接) ubuntu: 下载地址. RedHat: 下载地址. centos: 下载地址. Debain: 下载地址. Fedora: 下载地址. SuSE: 下载地址. OpenSUSE: 下载地址.

二、常用快捷键

[tab]键 这是你不能没有的 Linux 快捷键。它将节省你 Linux 命令行中的大量时间。只需要输入一个命令,文件名,目录名甚至是命令选项的开头,并敲击 tab 键。它将自动完成你输入的内容,或为你显示全部可能的结果。如果你只记一个快捷键,这将是必选的一个。

[ctrl c]键 这些是为了在终端上中断命令或进程该按的键。它将立刻终止运行的程序。如果你想要停止使用一个正在后台运行的程序,只需按下这对组合键。

[Ctrl Z]键 该快捷键将正在运行的程序送到后台。通常,你可以在使用&选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。

[Ctrl D]键 该快捷键将移动光标到所在行首。假设你在终端输入了一个很长的命令或路径,并且你想要回到它的开头, 使用方向键移动光标将花费大量时间。注意你无法使用鼠标移动光标到行首。这是 Ctrl A 节省时间的地方。

[Ctrl E]键 这对快捷键与 Ctrl A 相反。Ctrl A 送光标到行首,反之 Ctrl E 移动光标到行尾。

[ Ctrl U]键 输入了错误的命令?代替用退格键来丢弃当前命令,使用 Linux 终端中的 Ctrl U 快捷键。该快捷键会擦除从当前光标位置到行首的全部内容。

[ Ctrl K]键 这对和 Ctrl U 快捷键有点像。唯一的不同在于不是行首,它擦除的是从当前光标位置到行尾的全部内容。

[ Ctrl W]键 你刚才了解了擦除到行首和行尾的文本。但如果你只需要删除一个单词呢?使用 Ctrl W 快捷键。使用 Ctrl W 快捷键,你可以擦除光标位置前的单词。如果光标在一个单词本身上,它将擦除从光标位置到词首的全部字母。最好的方法是用它移动光标到要删除单词后的一个空格上, 然后使用 Ctrl W 键盘快捷键。

[ Ctrl Y]键 这将粘贴使用 Ctrl W,Ctrl U 和 Ctrl K 快捷键擦除的文本。如果你删除了错误的文本或需要在某处使用已擦除的文本,这将派上用场。

[ Ctrl P]键 你可以使用该快捷键来查看上一个命令。你可以反复按该键来返回到历史命令。在很多终端里,使用 PgUp 键来实现相同的功能。

[Ctrl N] 你可以结合 Ctrl P 使用该快捷键。Ctrl N 显示下一个命令。如果使用 Ctrl P 查看上一条命令,你可以使用 Ctrl N 来回导航。许多终端都把此快捷键映射到 PgDn 键。

[Ctrl R]键 你可以使用该快捷键来搜索历史命令。

[Ctrl 左右键] 在单词之间跳转

[Alt – d]键 由光标位置开始,往右删除单词。往行尾删

三、Linux常用命令

文件管理

1、cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。 语法格式: cat [-nbs] [–help] [–version] fileName

❝参数说明: -n 或 --number:由 1 开始对所有输出的行数编号。 -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。 -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

实例: 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

代码语言:javascript复制
 cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

代码语言:javascript复制
cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

代码语言:javascript复制
cat /dev/null > /etc/test.txt

2、more,more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似) 语法格式: more [-dlfpcsu] [-num] [ /pattern] [ linenum] [fileNames…]

❝参数说明: -num 一次显示的行数 -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声 -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料 -s 当遇到有连续两行以上的空白行,就代换为一行的空白行 -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) /pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示 num 从第 num 行开始显示 fileNames 欲显示内容的文档,可为复数个数

实例: 逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。

代码语言:javascript复制
more -s testfile

从第 20 行开始显示 testfile 之文档内容。

代码语言:javascript复制
more  20 testfile

3、rm命令用于删除一个文件或者目录。 语法规则: rm [options] name…

❝参数说明: -i 删除前逐一询问确认。 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 -r 将目录及以下之档案亦逐一删除。

实例: 删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:

代码语言:javascript复制
 rm  test.txt
代码语言:javascript复制
rm  -r  homework  

删除当前目录下的所有文件及目录,命令行为:

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

4、cp命令主要用于复制文件或目录。 语法规则: cp [options] source dest 或 cp [options] source… directory

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

实例: 使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

代码语言:javascript复制
$ cp –r test/ newtest  

4、read 命令用于从标准输入读取数值。read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。 语法规则: read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name …]

❝参数说明: -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。 -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。 -p 后面跟提示信息,即在输入前打印提示信息。 -e 在输入的时候可以使用命令补全功能。 -n 后跟一个数字,定义输入文本的长度,很实用。 -r 屏蔽,如果没有该选项,则作为一个转义字符,有的话 就是个正常的字符了。 -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。 -t 后面跟秒数,定义输入字符的等待时间。 -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

磁盘管理

1、cd:命令用于切换当前工作目录。其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, … 则表示目前目录位置的上一层目录。

语法规则: cd [dirName]

实例: 跳到 /usr/bin/ :

代码语言:javascript复制
cd /usr/bin

跳到自己的 home 目录 :

代码语言:javascript复制
cd ~

跳到目前目录的上上两层 :

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

2、mkdir命令用于创建目录。 语法规则: mkdir [-p] dirName

❝参数说明:-p 确保目录名称存在,不存在的就建一个。

实例: 在工作目录下,建立一个名为 runoob 的子目录 :

代码语言:javascript复制
mkdir runoob

在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。 若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)

代码语言:javascript复制
mkdir -p runoob2/test

3、pwd命令用于显示工作目录。执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称。 语法规则: pwd [–help][–version]

❝参数说明: –help 在线帮助。 –version 显示版本信息。

实例:查看当前所在目录:

代码语言:javascript复制
pwd/root/test           #输出结果

4、redir命令删除空的目录。 语法规则: rmdir [-p] dirName

❝参数说明: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

实例 将工作目录下,名为 AAA 的子目录删除 :

代码语言:javascript复制
rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

代码语言:javascript复制
rmdir -p BBB/Test

5、ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。 语法规则: ls [-alrtAFR] [name…]

❝参数说明: -a 显示所有文件及目录 (. 开头的隐藏文件也会列出) -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英文字母次序) -t 将文件依建立时间之先后次序列出 -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录) -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/” -R 若目录下有文件,则以下之文件亦皆依序列出

实例: 列出根目录()下的所有目录:

代码语言:javascript复制
#ls /
bin               dev   lib         media  net   root     srv  upload  www
boot              etc   lib64       misc   opt   sbin     sys  usr
home  lost found  mnt    proc  selinux  tmp  var

列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

代码语言:javascript复制
ls -ltr s*

将 /bin 目录以下所有目录及文件详细资料列出 :

代码语言:javascript复制
ls -lR /bin

列出目前工作目录下所有文件及目录;目录于名称后加 “/”, 可执行档于名称后加 “*” :

代码语言:javascript复制
ls -AF

网络通讯

1、telnet命令用于远端登入。执行telnet指令开启终端机阶段作业,并登入远端主机。 语法规则: telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]

❝参数说明: -8 允许使用8位字符资料,包括输入与输出。 -a 尝试自动登入远端系统。 -b<主机别名> 使用别名指定远端主机名称。 -c 不读取用户专属目录里的.telnetrc文件。 -d 启动排错模式。 -e<脱离字符> 设置脱离字符。 -E 滤除脱离字符。 -f 此参数的效果和指定"-F"参数相同。 -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。 -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。-K 不自动登入远端主机。 -l<用户名称> 指定要登入远端主机的用户名称。 -L 允许输出8位字符资料。 -n<记录文件> 指定文件记录相关信息。 -r 使用类似rlogin指令的用户界面。 -S<服务类型> 设置telnet连线所需的IP TOS信息。 -x 假设主机有支持数据加密的功能,就使用它。 -X<认证形态> 关闭指定的认证形态。

实例:登录远程主机

代码语言:javascript复制
 telnet 192.168.1.2
//登录IP为 192.168.1.2的远程主机

2、ping命令用于检测主机。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 语法规则: ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]

❝参数说明: -d 使用Socket的SO_DEBUG功能。 -c<完成次数> 设置完成要求回应的次数。 -f 极限检测。 -i<间隔秒数> 指定收发信息的间隔时间。 -I<网络界面> 使用指定的网络接口送出数据包。 -l<前置载入> 设置在送出要求信息之前,先行发出的数据包。 -n 只输出数值。 -p<范本样式> 设置填满数据包的范本样式。 -q 不显示指令执行过程,开头和结尾的相关信息除外。 -r 忽略普通的Routing Table,直接将数据包送到远端主机上。 -R 记录路由过程。 -s<数据包大小> 设置数据包的大小。 -t<存活数值> 设置存活数值TTL的大小。 -v 详细显示指令的执行过程。

实例:检测是否与主机连通

代码语言:javascript复制
ping www.w3cschool.cc //ping主机
PING aries.m.alikunlun.com (114.80.174.110) 56(84) bytes of data.
  64 bytes from 114.80.174.110: icmp_seq=1 ttl=64 time=0.025 ms
  64 bytes from 114.80.174.110: icmp_seq=2 ttl=64 time=0.036 ms
  64 bytes from 114.80.174.110: icmp_seq=3 ttl=64 time=0.034 ms
  64 bytes from 114.80.174.110: icmp_seq=4 ttl=64 time=0.034 ms
  64 bytes from 114.80.174.110: icmp_seq=5 ttl=64 time=0.028 ms
  64 bytes from 114.80.174.110: icmp_seq=6 ttl=64 time=0.028 ms
  64 bytes from 114.80.174.110: icmp_seq=7 ttl=64 time=0.034 ms
  64 bytes from 114.80.174.110: icmp_seq=8 ttl=64 time=0.034 ms
  64 bytes from 114.80.174.110: icmp_seq=9 ttl=64 time=0.036 ms
  64 bytes from 114.80.174.110: icmp_seq=10 ttl=64 time=0.041 ms
    --- aries.m.alikunlun.com ping statistics ---

10 packets transmitted, 30 received, 0% packet loss, time 29246ms
rtt min/avg/max/mdev = 0.021/0.035/0.078/0.011 ms
//需要手动终止Ctrl C

3、ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。 语法规则: ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

❝参数说明: add<地址> 设置网络设备IPv6的IP地址。 del<地址> 删除网络设备IPv6的IP地址。 down 关闭指定的网络设备。 <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。 io_addr<I/O地址> 设置网络设备的I/O地址。 irq<IRQ地址> 设置网络设备的IRQ。 media<网络媒介类型> 设置网络设备的媒介类型。 mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。 metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。 mtu<字节> 设置网络设备的MTU。 netmask<子网掩码> 设置网络设备的子网掩码。 tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。 up 启动指定的网络设备。 -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。 -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。 -promisc 关闭或启动指定网络设备的promiscuous模式。 [IP地址] 指定网络设备的IP地址。 [网络设备] 指定网络设备的名称

实例: 显示网络设备信息

代码语言:javascript复制
 ifconfig        
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C 
     inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
     inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
     TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000 
     RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
     Interrupt:185 Base address:0x2024 

系统管理

1、exit:命令用于退出目前的shell。 执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。exit也可用在script,离开正在执行的script,回到shell。 语法规则: exit [状态值]

实例:退出终端

代码语言:javascript复制
exit

2、kill:命令用于删除执行中的程序或工作。kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。

语法规则:

代码语言:javascript复制
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数说明:

代码语言:javascript复制
-l <信息编号>  若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
-s <信息名称或编号>  指定要送出的信息。
[程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

实例:

杀死进程

代码语言:javascript复制
# kill 12345

强制杀死进程

代码语言:javascript复制
# kill -KILL 123456

3、ps 命令用于显示当前进程的状态,类似于 windows 的任务管理器。 语法: ps [options] [–help]

❝参数: ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义 -A 列出所有的进程 -w 显示加宽可以显示较多的资讯 -au 显示较详细的资讯 -aux 显示所有包含其他使用者的行程

实例: 查找制定进程格式: ps -ef | grep 进程关键字 例如 显示 php 的进程:

代码语言:javascript复制
# ps -ef | grep php
root       794     1  0  2020 ?        00:00:52 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
www-data   951   794  0  2020 ?        00:24:15 php-fpm: pool www
www-data   953   794  0  2020 ?        00:24:14 php-fpm: pool www
www-data   954   794  0  2020 ?        00:24:29 php-fpm: pool www...

显示进程信息:

代码语言:javascript复制
# ps -A 
PID TTY     TIME CMD
  1 ?    00:00:02 init
  2 ?    00:00:00 kthreadd
  3 ?    00:00:00 migration/0
  4 ?    00:00:00 ksoftirqd/0
  5 ?    00:00:00 watchdog/0
  6 ?    00:00:00 events/0
  7 ?    00:00:00 cpuset
  8 ?    00:00:00 khelper
  9 ?    00:00:00 netns
  10 ?    00:00:00 async/mgr
  11 ?    00:00:00 pm
  12 ?    00:00:00 sync_supers
  13 ?    00:00:00 bdi-default
  14 ?    00:00:00 kintegrityd/0
  15 ?    00:00:02 kblockd/0
  16 ?    00:00:00 kacpid
  17 ?    00:00:00 kacpi_notify
  18 ?    00:00:00 kacpi_hotplug
  19 ?    00:00:27 ata/0……省略部分结果30749 pts/0  00:00:15 gedit30886 ?    00:01:10 qtcreator.bin30894 ?    00:00:00 qtcreator.bin 31160 ?    00:00:00 dhclient31211 ?    00:00:00 aptd31302 ?    00:00:00 sshd31374 pts/2  00:00:00 bash31396 pts/2  00:00:00 ps
显示指定用户信息

4、sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。使用权限:在 /etc/sudoers 中有出现的使用者。 语法: sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command

❝参数: -V 显示版本编号 -h 会显示版本编号及指令的使用方式说明 -l 显示出自己(执行 sudo 的使用者)的权限 -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码 -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟) -b 将要执行的指令放在背景执行 -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称 -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码) -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root ) command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

实例:

sudo命令使用

代码语言:javascript复制
$ sudo ls[sudo] password for hnlinux: 
hnlinux is not in the sudoers file. This incident will be reported.

5、su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。使用权限:所有使用者。 语法: su [-fmp] [-c command] [-s shell] [–help] [–version] [-] [USER [ARG]]

❝参数说明: -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh -m -p 或 --preserve-environment 执行 su 时不改变环境变数 -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者 -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell –help 显示说明文件 –version 显示版本资讯 -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root USER 欲变更的使用者帐号 ARG 传入新的 shell 参数

实例: 变更帐号为 root 并在执行 ls 指令后退出变回原使用者

代码语言:javascript复制
su -c ls root

变更帐号为 root 并传入 -f 参数给新执行的 shell

代码语言:javascript复制
su root -f

变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)

代码语言:javascript复制
su - clsung

6、free命令用于显示内存状态。free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 语法: free [-bkmotV][-s <间隔秒数>]

❝参数: -b  以Byte为单位显示内存使用情况。 -k  以KB为单位显示内存使用情况。 -m  以MB为单位显示内存使用情况。 -h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。

实例: 显示内存使用情况

代码语言:javascript复制
# free //显示内存使用信息
total used free shared buffers cachedMem: 254772 184568 70204 0 5692 89892-/  buffers/cache: 88984 165788Swap: 524280 65116 459164

以总和的形式显示内存的使用信息

代码语言:javascript复制
# free -t //以总和的形式查询内存的使用信息
total used free shared buffers cachedMem: 254772 184868 69904 0 5936 89908-/  buffers/cache: 89024 165748Swap: 524280 65116 459164Total: 779052 249984 529068

周期性的查询内存使用信息

代码语言:javascript复制
# free -s 10 //每10s 执行一次命令
total used free shared buffers cachedMem: 254772 187628 67144 0 6140 89964-/  buffers/cache: 91524 163248Swap: 524280 65116 459164

total used free shared buffers cachedMem: 254772 187748 67024 0 6164 89940-/  buffers/cache: 91644 163128Swap: 524280 65116 459164

系统设置

clear:命令用于清除屏幕。 语法:clear

实例:清屏

代码语言:javascript复制
#clear

---END---

0 人点赞