持续更新中!!
环境:contos7
一、目录结构
在linux系统中,一切皆文件
目录 |
说明 |
/ |
根目录,所有文件都在 |
bin |
存放常用的程序文件(命令文件) |
boot |
存放引导系统启动的文件(boot配置文件,内核和其它启动时所需的文件) |
dev |
存储设备文件 |
etc |
存放系统配置有关的文件 |
home |
存放普通用户目录 |
lib |
系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令 |
mnt |
硬盘上手动挂载的文件 |
opt |
存放某些大型软件或者某些特殊软件的目录 |
proc |
操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里 |
root |
系统管理员(root user)的目录 |
run |
代替/var/run 目录 |
sbin |
大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令 |
sys |
和proc一样,虚拟文件系统,可以在该目录下获取系统信息,这些信息是在内存中由系统生成的,该目录的文件不在硬盘上而在内存中 |
tmp |
临时目录 |
usr |
在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具 |
var |
用于存放经常变动的文件,包括各种日志、数据文件 |
/var/cache |
应用程序缓存数据(可以被删除而不导致数据丢失) |
/var/lib |
状态信息,由系统在运行时维护的持久性数据 |
/var/log |
日志文件 |
/var/lock |
锁文件 |
/var/run |
自最后一次启动以来运行中的系统信息 |
/var/tmp |
在系统重启过程中可以保留的临时文件 |
二、语言环境
查看系统语言环境
locale
locale -a (查看全部)
编辑
三、软件安装
在centos7中,使用yum可以实现软件的自动下载、安装、配置,可以使用yum -h查看帮助
不同的系统安装命令不一样,在ubantu中,是使用 atp-get安装
yum -h
执行结果
示例:
yum install tree
运行结果
编辑
由上图所示,可以帮你自动下载安装软件
四、常用快捷键
快捷键 |
说明 |
Tab |
1.单击一下:相关命令联想补全 2.连击两下: 列出当前目录下的所有文件 |
Ctrl + L |
清屏 |
Ctrl + K |
删除当前光标所谓位置之后的所有内容 |
Ctrl + U |
删除当前光标所在位置之前的所有内容(删除到初始位置) |
Ctrl + W |
删除当前光标所在位置之前的内容(删除到有空格的位置) |
Ctrl + Y |
粘贴Ctrl + K、Ctrl + U、Ctrl + W清除的部分内容 |
Ctrl + A |
将光标移动至最前面 |
Ctrl + E |
将光标移动至最后面 |
Ctrl + L |
搜寻至今最后执行的命令内容 |
Ctrl + C |
结束当前操作 |
五、常用命令(以下演示命令以root角色演示 )
1.获取命令的帮助信息
上面已经提到了-h命令可以查看命令的使用帮助。但是有时候不准确。可以使用以下的几个命令查看更详细的命令帮助,以下以yum为例
yum -h (yum -help) |
查看关yum命令的简单用法 |
info yum |
查看关于yum命令的更详细用法 |
man yum(推荐使用) |
查看关于yum命令的更详细用法 |
2.date (时间)
对时间进行操作
date
运行结果
编辑
使用 man date 查看命令帮助,以下仅部分帮助,其它请自行查看(多使用man 方法查看指令帮助)
编辑
部分示例:
指令示例 |
说明 |
结果 |
date +%x |
年月日输出 |
2022年03月09日 |
date -s 20230301 |
对日期进行设置,改为2023年3月1号,但是会把具体时间设置为00:00:00 |
2023年 03月 01日 星期三 00:00:00 CST |
date -s 12:11:11 |
设置具体时间 |
2023年 03月 01日 星期三 12:11:11 CST |
date -s '16:55:23 2022-03-09' |
设置日期和时间 |
2022年 03月 09日 星期三 16:55:23 CST |
3.cal (日历)
部分示例:
指令示例 |
说明 |
结果 |
cal |
显示一个简单的日历.. 如果没有指定参数, 则显示当前月份. |
|
cal -m |
显示星期一作为一周的第一天.. (缺省为星期日.) |
|
cal -y |
显示当前年份的日历 |
|
cal -j |
显示儒略历的(Julian)日期 (以 1 为基的天数, 从 1 月 1 日开始计数) . |
|
4.tzselect 时区设置
tzselect
编辑
5.clear(清屏)
clear
编辑
6.注销、关机
指令 |
说明 |
示例 |
logout |
注销 |
编辑 |
reboot |
重启(立即) |
|
shutdown |
以一种安全的方式关闭系统,所有登陆用户都可以看到关机信息提示(更多用法可以使用man shutdown 查看) |
编辑 |
shutdown -r |
重启:
|
|
shutdown -h |
停机:
|
|
shutdown -c |
取消运行中的shutdown进程(取消重启或关机) |
编辑 |
7.cd (切换目录)
指令示例 |
说明 |
cd |
切换目录 |
cd #(cd ~) |
切换到当前用户的家目录 |
cd /home |
切换到home目录 |
cd .. |
切换到上一级目录 |
8. pwd(查看当前的工作路径)
pwd
9.passwd(更改用户密码)
passwd
指令 |
说明 |
passwd |
修改当前用户的密码 |
passwd lvyq |
修改lvyq账户的密码(只有root权限才可以指定用户名) |
10.ls(查看当前目录下的子目录及文件)
ls
指令 |
说明 |
示例 |
ls |
显示当前目录下文件 |
编辑 |
ls -a |
显示当前目录下文件包括隐藏文件以及当前目录上级目录(. ..) |
|
ls -A |
显示当前目录下文件包括隐藏文件不包含当前目录上级目录(. ..) |
|
ls /usr |
显示指定目录下的文件 (根目录下的usr目录) |
|
ls -l (ll) |
查看当前目录下文件的详细信息(操作权限,所属用户,字节,时间等信息) |
编辑 |
ls -lh |
与ls -l一样的效果,不过字节变成了文件的大小 |
|
|
1.ls -lht 按时间将文件排序(倒序) 2.ls -lhtr 按时间将文件排序(正序) |
编辑 |
ls -R |
遍历目录文件 |
如果文件是以 . 开头的话,则表示该文件为隐藏文件
11.mkdir(建立目录)
mkdir
缺省时,新建立的目录模式为0777,即不加保护地对所有人 都可读、可写、可执行指令
指令说明 |
说明 |
mkdir lvyq |
在当前目录下创建目录lvyq |
mkdir -p lvyq/lv/yq |
在当前目录下创建多级目录(lvyq/lv/yq) |
12.touch(修改文件的时间戳记)
修改每个指定文件 file 的存取(access)和/或修改(modification)时间戳记.除非使用-r或-t选项,这些时间戳记都将修改为当前的时间
(当文件不存在时会创建文件)
指令 |
说明 |
示例 |
|
touch touch.txt |
修改touch.txt文件时间 |
不存在时创建文件 |
编辑 |
存在时更新文件时间 |
编辑 |
||
touch -c touch2.txt |
文件不存在时不创建文件 |
编辑 |
|
touch -r touch.txt touch2.txt |
将touch.txt的时间更新至touch2.txt |
编辑 |
|
touch -t '2101011111.11' touch2.txt |
使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.此处的 time 规定为如下形式的十进制数: [[CC]YY]MMDDhhmm[.SS] 这里,CC为年数中的前两位,即“世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch将把年数CCYY限定在1969--2068之内.MM为月数,DD为天 将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh为小时数(几点),mm为分钟数,SS为秒数.此处秒 的设定范围是0--61,这样可以处理闰秒.这些数字组成 的时间是环境变量TZ指定的时区中的一个时间.由于系统 的限制,早于1970年1月1日的时间是错误的. |
编辑 |
注:touch 命令仅修改时间,不对文件内容修改
13.rm(移除文件或者目录)
rm移除每个给定的文件。默认情况下,它不能移除目录。但是当给定了-r或者-R选项时,在指定目录之下的整个目录树都会被移除(而且对通过`rm -r'能够移除的目录树深度是没有限制的)。当文件路径末端部分只有.和..时会出错(因此可用`rm -r .*'之类来避免这些不愉快的诧异)。 如果给定了-i选项,或者如果一个文件不可写,而且标准输入是终端,又没有给定-f选项,那么rm会提示用户是否要删除该文件,它写一个问题到stderr并且从stdin读入一个应答。 如果应答是否定的,该文件将被跳过。
指令 |
说明 |
示例演示 |
rm a.txt |
删除文件a.txt |
编辑 |
rm -f a.txt |
删除文件a.txt,不作确认提示。 |
编辑 |
rm -r |
递归地移除目录树 |
一级目录a 编辑 |
多级目录:a/b/c 编辑 | ||
rm -rf a |
删除目录a下所有文件 |
14.mv( 移动 (改名) 文件)
改“源文件”名到“目标文件”名, 或移动“源文件”(可以不只一 个)到一个“目录”。
指令 |
说明 |
示例演示 |
|
mv file1 file2 |
file1,file2为文件时 |
覆盖 |
编辑 |
重命名 |
编辑 |
||
mv file1 file2 |
file1 为文件,file2为目录 |
移动 |
将file1.txt移动至file2目录下 |
file1,file2都为目录时 |
目录file1以及下面的所有文件,移动至file2目录下(相当于win上将文件夹1剪切至文件夹2) |
||
mv /user/lv.txt /dev/ |
将目录user下的lv.txt文件,移动至dev目录下 |
ps:其它相关命令请用man mv 自行查看
15.cp(复制文件和目录)
指令 |
说明 |
示例演示 |
|
cp file1 file2 |
复制文件a.txt,并将命名为b.txt |
编辑 |
|
覆盖(当file2存在时会提示覆盖) |
编辑 |
||
cp file1 file2 |
cp /user/a.txt /dev |
复制user目录下的a.txt文件到dev目录下 |
|
cp /user/a.txt /dev/b.txt |
复制user目录下的a.txt文件到dev目录下并命名为b.txt |
16.stat(打印信息节点(inode)内容)
指令 |
说明 |
示例演示 |
stat /a |
查看目录a的信息(也可查看具体文件) |
编辑 |
17.cat (查看文件)
连接文件并在标准输出上输出
cat
指令 |
选项 |
说明 |
示例演示 |
cat |
查看文件内容 |
示例
编辑 |
|
-b |
给非空输出行编号。 |
示例
编辑 |
|
-E |
在每行结束显示 $ |
示例
编辑 |
|
-n |
给所有输出行编号 |
示例
编辑 |
|
-s |
将所有的连续的多个空行替换为一个空行。 |
示例
|
18.tac(反转显示文件)
令 |
选项 |
说明 |
示例演示 |
tac |
反转显示文件 |
示例
编辑 |
|
-b |
把分隔单元移到前面, 而不是后面 |
示例
编辑 |
ps:其它相关指令不常用,不一一列举了
19.wc( 输出文件中的行数、单词数、字节数)
指令 |
选项 |
说明 |
示例 |
wc |
输出文件中的行数、单词数、字节数 |
编辑 |
|
-c |
输出字节统计数 |
||
-l |
输出换行符统计数 |
||
-L |
输出最长的行的长度 |
||
-w |
输出单词统计数 |
20.sort(对文本文件的行排序)
创建文件sort1.txt 和文件sort2.txt(为了便于区分,内容末尾分别加上-1,-2),内容如下图所示:
sort1.txt
编辑
sort2.txt
编辑
sort file1 (对一个文件排序)
sort file1 file2 .. (对多个文件内容排序,并合并输出)
以下示例以两个文件为例
指令 |
选项 |
说明 |
示例 |
sort |
对文本文件的行排序 |
示例
编辑 |
|
-b |
忽略排序字段或关键字中开头的空格 |
||
-c |
检查是否指定文件已经排序好了,不排序(只能对一个文件操作) |
示例
编辑 |
|
-d |
在关键字中只考虑[a-zA-Z0-9]字符 |
||
-g |
按照通常的数字值顺序作比较,暗含-b |
示例
编辑 |
|
-m |
合并已经排序好的文件,不排序 |
示例
编辑 |
|
-M |
按(未知的)<`JAN'<...<`DEC'的顺序比较,暗含-b |
示例
编辑 |
|
-r |
颠倒比较的结果 |
示例
编辑 |
|
-s |
通过屏蔽最后的再分类比较来稳定排序 |
示例
编辑 |
|
-u |
如果有-c,则按严格的顺序进行检查; 如果有-m,则只输出相等顺序的第一个 |
示例
编辑 |
|
-z |
以0字节结束行,而不是使用换行符,这是为了找到-print0 |
示例
编辑 |
|
-o |
将结果写入FILE而不是标准输出
对文件file2中的内容排序并输入到文件file1中(当file1存在时,将覆盖file1中的内容) |
示例1
结果: 编辑 对sort2.txt中的内容排序并将排序内容输入到sort.txt中 |
|
示例2
结果 编辑 当sort1.txt存在时,使用此命令发现此命令是将sort2.txt的内容排序后覆盖到了sort1.txt中 |
21.uniq(忽略连续相似行)
uniq
从 INPUT (或 标准输入) 数据 中 忽略 (但是 保留 一行) 连续的相似行, 结果 送入 OUTPUT (或 标准输出)
创建uniq.txt演示文件,内容如下:
编辑
指令 |
选项 |
说明 |
示例演示 |
uniq |
忽略输出连续的重复行 |
示例:
编辑 |
|
-c |
在行首显示出现的数目 |
示例:
编辑 |
|
-d |
仅显示 重复行 |
示例:
编辑 |
|
-D |
显示 全部 重复行 |
示例:
编辑 |
|
-f |
不比较 起初的 N 栏 |
示例:
|
|
-i |
比较时 忽略 大小写 |
示例:
编辑 |
|
-u |
仅显示 无重复行 |
示例:
编辑 |
ps:其它相关指令不常用,不一一列举了
22.cut(在文件的每一行中提取片断)
cut
为了方便演示创建cut.txt文件,内容如下
编辑
指令 |
选项 |
说明 |
示例演示 |
cut |
-b |
输出每行的第几个字符 |
示例:
编辑 |
-c |
输出区间字符 |
示例
编辑 |
|
-d |
使用 DELIM 取代 TAB 做 字段(field) 分隔符 |
示例
编辑 这两个指令搭配着使用,上面的例子是:以-为分割符,并输出分割后的第2个字段 |
|
-f |
输出 字段 |
ps:不常用,其它相关指令,不一一列举了,感兴趣的可以使用man cut查看帮助
23.tee(从标准输入写往文件和标准输出)
类型 |
默认情况 |
对应文件句柄位置 |
标准输入 |
从键盘输入到系统 (比如输入ll 命令就叫做标准输入) |
/proc/self/fd/0 |
标准输出 |
输出内容到屏幕 (输出目录下文件到控制台就叫标准输出) |
/proc/self/fd/1 |
错误输出 |
输出内容到屏幕 (输出错误信息到控制台) |
/proc/self/fd/2 |
这里大概了解下,之后的shell重定向会详细了解
命令 |
选项 |
说明 |
示例演示 |
tee |
标准输入写往标准输出演示 |
示例
编辑 |
|
标准输入写往文件 |
示例
编辑 |
||
-a |
追加到 给出的 文件, 而不是 覆盖 |
示例:
编辑 |
24.history(查看执行过的命令)
指令 |
选项 |
说明 |
示例演示 |
history |
默认显示最近的1000条命令 |
示例
|
|
num |
显示最近的num条命令 |
示例
编辑 |
|
!no |
执行第no条命令 |
示例
编辑 |
|
!xx |
执行最后一次以xx开头的命令 |
示例
编辑 |
25.more(在显示器上阅读文件的过滤器)
交互命令:
按键 |
行为 |
回车 |
一行一行的显示 |
空格 |
翻页显示 |
h or ? |
帮助: 显示命令的摘要 |
s |
向前跳过 k 行文本. 缺省值 是 1 |
f |
向前跳过 k 屏文本. 缺省值 是 1 |
b or ^B |
向后跳回 k 屏文本. 缺省值 是 1 |
' |
跳到 上一次 搜索 开始 的 地方 |
= |
显示当前行号 |
ps:不常用,其它相关指令,不一一列举了,感兴趣的可以使用man more查看帮助
以下命令以演示文件为例
编辑
26.less(对文件或其它输出进行分页显示)
与more命令作用类似,上面使用more对文件进行了演示,在less命令中对输出进行演示(演示命令同样适用于more)
history |less (history |more)
演示
编辑
ps:不常用,其它相关指令,不一一列举了,感兴趣的可以使用man less查看帮助
27.head( 输出文件的开始部分)
在标准输出上显示每个FILE的起始10行. 如果多于一个FILE,则一个接一个地显示, 并且在每个文件显示的首部给出文件名.如果没有FILE,或者FILE为-, 那么就从标准输入上读取
指令 |
选项 |
说明 |
示例演示 |
head |
示例
编辑 |
||
-c |
打印起始的n个字节 |
示例
编辑 |
|
-n |
显示起始的NUMBER行,而非默认的起始10行 |
示例
编辑 |
28.tail(输出文件的末尾部分)
在标准输出上显示每个FILE的最后10行. 如果多于一个FILE,会一个接一个地显示, 并在每个文件显示的首部给出文件名.如果没有FILE,或者FILE是-,那么就从标准输入上读取.
命令 |
选项 |
说明 |
示例演示 |
tail |
默认显示最后十行 |
示例
编辑 |
|
--retry |
即使tail开始时就不能访问 或者在tail运行后不能访问,也仍然不停地尝试打开文件. -- 只与-f合用时有用 |
||
-c |
输出最后N个字节 |
示例
编辑 |
|
-f |
当文件增长时,输出后续添加的数据(实时监控日志文件) |
示例
|
|
-n |
输出最后N行,而非默认的最后10行 |
示例
编辑 |
ps:上面为常用命令,其它使用man tail查看帮助
帮助摘抄:《使用--follow (-f)时,tail默认后接文件描述符, 这意味着即使tail显示的文件改名了,tail仍然可以 追踪到其末尾部分. 如果你确实希望查询文件的实际名而非文件描述符 (例如,日志轮转时), 这种默认的操作就不是你所期望的了. 在这种情况下应使用--follow=name. 这将导致tail通过周期性地重新打开所指定的文件来 追踪其是否被删除了,或者被其他程序重新创建了》
ps:常用命令,用于查看日志
29.which(查看命令所在位置)
查找当前环境中的命令所在位置(前提是命令可执行)
命令 |
选项 |
说明 |
示例演示 |
which |
查找当前环境中的命令所在位置 |
示例
编辑 |
ps:其它使用man which 查看帮助
30.chmod(改变目录及目录下的内容的访问权限)
通过ll查看文件会看到以下信息。
编辑
下面对所展现的信息简单图示:
编辑
以下以 drwxr-xr-x. 为例进行权限的讲解
编辑
文件类型:
- |
普通文件 |
b |
块设备文件 |
c |
字符设备文件 |
d |
目录文件 |
l |
链接文件(相当于win上面的快捷方式) |
p |
管道文件 |
s |
socket文件 |
文件权限:
权限 |
文件上的权限 |
目录上的权限 |
其它 |
r |
可读权限 |
目录下的文件名是否可读 |
可以用数字4表示 |
w |
可写权限 |
目录下的文件是否可以创建编辑 |
可以用数字2表示 |
x |
可执行权限 |
目录是否可以被搜索 |
可以用数字1表示 |
- |
无相应权限 |
可以用数字0表示 |
权限分组:
权限被分为了三组,分别是
u |
user (文件所有者) |
g |
group(文件所有者所在的组) |
o |
other(user,group之外的用户) |
a |
所有 |
权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用 – 代替
上面的例子表示:
目录文件,文件所有者是root,root用户对改目录文件拥有读写执行的操作权限,与root所在同一组的用户拥有读写的权限,其它用户拥有读的权限
修改权限:
使用chmod命令改变指定文件访问权限有两种方式:一种是用符号标记所进行更改,另一种方式是采用8进制数指定新的访问权限。
①用符号标记进行更改
使用下面的语法格式来使用符号改变方式
[ugoa][[+-=][rwx]
操作符'+'使得用户选择的权限被追加到每个指定文件,(操作给指定文件添加所选权限);操作符'-'使得这些权限被撤消;'='使得 指定文件只具有这些权限。
以下以
----------. 1 root root 0 3月 21 17:12 chmod.txt
为例进行演示
指令 |
选项 |
说明 |
示例演示 |
chmod |
(u/g/o/a)+ (r/w/x) |
加权限 |
示例
编辑 |
(u/g/o/a) - (r/w/x) |
减权限 |
示例
编辑 |
|
(u/g/o/a) = (r/w/x) |
赋予相应权限,缺省则表示没有相应权限 |
示例
编辑 (偷个懒,这里不在单独注释了) |
|
除了上面的用法,还可以使用【,】组合使用权限 |
示例
编辑 |
②用8进制数指定新的访问权限
数字模式是一到4个八进制数,每个数由位权为4,2,1的3位叠加而得.被省略掉的数字缺省设置为零.
指令 |
选项 |
说明 |
示例演示 |
chmod |
4,2,1 |
赋予相应权限 |
示例:
编辑 |
其它:
以下命令可与上面两种指令组合使用
指令 |
选项 |
说明 |
示例演示 |
chmod |
-R |
为目录即目录下的所有子目录和文件赋权 |
示例
编辑 由此看出,为chmod目录及以下所有文件目录赋予了a(所有)相同的rx权限 |
特殊权限(了解即可):
编辑
除了rwx三种权限,还有一个s权限,这种权限通常称为 SetUID,简称 SUID 特殊权限。
SUID 特殊权限具有如下特点:
1.只有可执行文件才能设定 SetUID 权限,对目录设定 SUID,是无效的。
2.用户要对该文件拥有 x(执行)权限。
3.用户在执行该文件时,会以文件所有者的身份执行。
4.SetUID 权限只在文件执行过程中有效,一旦执行完毕,身份的切换也随之消失。
摘抄man chmod:
编辑
ps:上面为常用命令,其它使用man chmod 查看帮助
31.chown(修改文件所有者和组别)
chown修改每个由第一个非选项参数声明的给定file(文件)的用户和/或组的所有权.如下:
如果只给出了用户名(或者数字用户标识),那么该用户即成为每个指定文件的所有者,而该文件的组别并不改变.如果用户名后面紧跟着冒号和组名(或者是数字组标识),并且它们之间没有空格,那么文件的组所有权也随之改变.
chown
指令 |
选项 |
说明 |
示例演示 |
chown |
如果没有冒号,则只改变所有者 |
示例
编辑 |
|
: |
1.如果有一个冒号,却没有组名跟在用户名后,那么该用户即成为文件的所有者,而且文件的组改为该用户的登录组 2.如果给定了冒号以及组,但是省略了用户名,那么只有文件的组被修改 3.同时给定了用户名,冒号以及组,则改变文件相应的所有者和所属组 |
示例
编辑 |
|
. |
除了使用:以外,还可以使用逗号 摘抄: 编辑 |
示例
编辑 |
32.用户和用户组
Linux是个多用户的系统
用户:不同的用户对系统有不同的操作权限
用户组:具有相同特征用户的逻辑集合
用户和用户组的相关信息会存储在系统文件中,以下列举相关文件并进行说明
文件 |
说明 |
示例说明 |
/etc/passwd |
系统用户配置文件,存储了系统中所有用户的基本信息 |
可以看到如下内容: 编辑 由内容可以看出,该文件中存着许多用户,每一行对应着一个用户,同时可看到一些不是用来登录系统的用户,这些用户成为系统用户(伪用户),这些用户信息不能删除,删除的话可能导致依赖这些系统用户对应的服务无法使用。 |
示例说明: root:x:0:0:root:/root:/bin/bash每行用户信息以“:”为分割符,分割为七段,含义如下:
ps:该文件可以修改,将其它用户的uid修改为0,则可以将普通用户升级为超级管理员,反之亦然 |
用户名 |
密码 |
UID |
GID |
描述性信息 |
主目录 |
默认Shell |
用户名仅是为了方便用户记忆,Linux 系统是通过 UID 来识别用户身份 |
x,表示用户有密码,但不是真正密码,密码存在/etc/shadow中 |
用户id,唯一,0表示超级用户, 1~99表示保其它预定义用户,100~999表示系统用户,1000之后表示普通用户 |
用户初始组的组 ID 号 |
没什么作用, |
用户登录后有操作权限的访问目录,通常称为用户的主目录。 |
Linux 的命令解释器 |
说白了,用户名并无实际作用,仅是为了方便用户的记忆而已
33.su
34.sudo
35.alias
36.