🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。
🐌 个人主页:蜗牛牛啊
🔥 系列专栏:🚲Linux
📕 学习格言:博观而约取,厚积而薄发
🌹 欢迎进来的小伙伴,如果小伙伴们在学习的过程中,发现有需要纠正的地方,烦请指正,希望能够与诸君一同成长! 🌹
文章目录
1、创建普通用户
adduser(新增用户)
adduser name
——添加新用户,name为新用户名
passwd (设置密码)
passwd name
——为新增加的用户设置密码,需要注意在输入密码时,屏幕上不会显示你输入的内容但是实际上已经输入进去了。
userdel(删除用户)
创建用户的同时,会自动创建和用户同名的家目录。
userdel -r name
——删除用户及其用户家目录
userdel name
——删除用户不会删除家目录
扩展:为什么有了图形化界面还要学习指令?
1.企业的服务器没有界面
2.指令的学习更贴近系统
3.指令更快,图形化界面要占用内存,但是指令相对图形化界面而言不太方便。
Linux是一个开源的操作系统(更高效、更稳定、更安全)。
Linux版本:(内核版本)技术版本线:主版本.次版本.修正次数(如 2.6.32 ),次版本为偶数是稳定版本,次版本是奇数为测试版本。
商业化版本线:centos,ubuntu,kail,红旗……应用角度
越新的商业化版本,匹配的是越新的内核代码。
扩展:操作系统概念:操作系统是一款进行软硬件管理的软件;操作系统存在的意义:操作系统对软硬件进行合理管理(手段),以达到为上层用户提供良好的、稳定的、安全的运行环境的目的。(平时Windows系统电脑开机实际是在加载操作系统)。
2、whoami指令
whoami
——查看当前用户
3、ls指令
ls
是命令,通常命令后携带有命令选项(如
ls -l
中,
-l
就是命令选项)。
ls
——显示当前目录下的文件列表(包括目录、文本文件……)
ls /home
——显示所有用户名
ls -l
(也可以写成
ll
):以列表的形式显示文件更多的属性。其中
total
表示的是列表中所有文件的磁盘空间占用总和,也就是资源占用总和,它的统计单位是
kb
。需要注意的是这个占用空间不一定等于文件大小之和。下图中表示该目录下文件总共占用
16kb
空间。
扩展:在Windows下创建一个空文件(文件里面没有内容)这个文件的存储位置是哪里?这个文件占不占空间?
文件在磁盘存着并且要占用磁盘空间,因为文件存在属性数据(文件名、创建时间、文件类型等)。文件=内容+属性,文件操作就是对文件内容和文件属性的操作。更改文件内容有可能文件属性会自动变化。
ls -l -a
(也可以写成
ls -al
、
ls -la
):显示更多的隐藏文件,以
.
开头的普通文件会隐藏;以
.
开头的目录文件也会隐藏,并且该目录下的所有文件都会隐藏。
如上图所示,在同一个目录下,
ls -al
显示出来的文件比
ls -l
显示出来的文件多了两个隐藏文件。
ls -n
(也可以写成
ls -nl
、
ls -ln
):显示更多的属性,其中将用户名替换成用户名的id。
4、pwd指令
pwd
:显示当前所在的目录。下图中表示当前所处的目录是
12-28
目录下。
5、cd指令
Windows下的路径格式为
D:\studystore\VS code
,其中路径分隔符为反斜杠
\
;Linux下的路径格式为
/root/12-28
,其中路径分隔符为
/
。注意Linux中的根目录为
/
。Windows中文件夹中可以有新的文件夹,Linux中目录下也可以有新的目录。
扩展:找到Windows下的一个文件夹或者文件,通常我们用什么来定位这个文件呢?如何理解相对路径和绝对路径?
路径。在Linux中我们同样使用路径来定位文件。从根目录开始定位文件的路径称为绝对路径,例如/root/12-28
。相对路径是相对于当前路径的 例如
../../12-28
,如果相对路径变了,那么就失效了,相对路径只能在特定的路径下有效。
绝对路径用起来麻烦一般用在某些配置文件中,进行对某种文件进行配置的时候采用。相对路径用起来简单,后续指令操作的时候常用的路径定位方式。
cd
:进入指定的目录。下图中
cd dir1
表示进入当前目录下的
dir1
目录中。
cd ~
:直接进入当前目录的家目录中(登录时所处的工作目录就叫做家目录)。
cd -
:回到最近上一次所处的路径。
cd ..
:返回上一级目录。
6、tree指令
如果没有
tree
指令可以安装,不过必须在root身份下,Centos安装指令:
yum install -y tree
。当使用
tree
指令疯狂刷屏时可以使用
ctrl+c
终止程序运行。
tree
:以树状结构显示Linux执行的目录结构。
7、touch指令
touch name
:在当前目录下创建一个名为
name
(可以自由命名)普通文本文件。下图分表表示在当前目录下创建一个名为
test.txt
的普通文本文件和在上级目录下创建一个名为
test1.txt
的文本文件。
touch
可以指定路径创建文本文件。
8、nano指令
nano
:打开文本编辑器,如下图所示。
nano
:如果文件存在直接进入编辑器编辑,完成之后按
ctrl+x
退出,按
y
确定退出;如果文件不存在则生成一个新文件,如下图。
9、cat指令
cat
:显示文件内容,下图为显示
test.c
文件内容。
10、stat指令
stat
:获取文件的所有属性。
扩展:任何一个文件都有三个时间:Acces、Modify、Change,他们是什么意思?
Access:显示的时间是我们最后一次访问的时间,当文件发生修改之后也会发生改变,每次访问修改Access的时间都会发生更新。
Modify:显示的是我们最后一次修改文件内容的时间。
Change:显示的是我们最后一次对文件属性进行改变的时间。
11、mkdir指令
mkdir
:在当前路径下创建一个目录,也可以用
-p
选项创建一串目录。下图表示为在当前目录下创建一个
dir2
目录和一连串目录
d1/d2
。
12、rmdir指令
rmdir
:删除目录,当
rmdir
后面没有命令选项的时候只能删除空目录,当目录不为空时不能删除。
13、rm指令
rm
:删除普通文件,删除时会询问是否确认删除。
rm -f
:强制删除,不会给任何提示信息。
rm -r
:递归删除目录(不在乎目录是否为空),并且会给提示信息。如果不加
-r
不能删除目录。
rm -rf
:递归并强制删除目录,不会给提示信息。
rm -rf ./*
表示删除当前目录下的所有内容,可以同时删除多个文件或者目录。
rm -rf /
:表示删除根目录下所有文件,从根目录开始递归式把所有文件删除(使用
rm -rf /
指令删除所有文件后要重装系统)。
14、man指令
man +指令
:访问Linux手册页,查看指令的详细信息。下图表示查看
ls
指令以及
ls
指令的详细介绍,按
q
退出手册。
man
指令默认从手册1开始帮我们查找,依次向后寻找。
我们也可以通过
man
指令查找C语言中的函数。
例如通过man 3 printf
查找C语言中
printf
函数。当出现如下图所示提示时说明
man
指令没有安装。可以通过
yum install -y man-pages
指令进行安装,安装时需要在root用户下,如果是普通用户在指令前面要加上
sudo
。
man
指令手册共分8章:
1.普通的命令。
2.系统调用,如open
、
write
之类(通过这个至少可以知道调用调用这个函数需要加什么头文件)
3.库函数,如printf
。
4.特殊文件,也就是/dev下的各种设备文件。
5.指文件格式,比如passwd
,就会说明这个文件中各个字段的含义。
6.给游戏留的,由各个游戏自己定义。
7.是附件还有一些变量,比如像environ这种全局变量在这里就有说明。
8.系统管理用的命令,这些命令只能由root使用,比如ifconfig。
15、cp指令
cp [命令选项] 源文件或目录 目标文件或目录
:复制文件或目录。默认只能拷贝普通文件,加上
-f
选项后可以强制拷贝。如下图,将
test.txt
拷贝到
dir1
目录中。
cp -r
:在指令后加上选项
-r
能拷贝目录;在
cp
指令后加上
-rf
指令能强制拷贝目录。
16、mv指令
mv [命令选项] 源文件或目录 目标文件或目录
:根据
mv
命令中第二个参数类型的不同将文件重命名或者将文件移动到一个新的目录中。
当第二个参数类型是文件时,mv
命令完成文件重命名,此时源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名;当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,
mv
命令将各参数指定的源文件均移至目标目录中。
17、cat指令
cat
:显示(打印)文本内容。下图中利用
nano
创建并编辑一个新的文本文件之后使用
cat
指令显示。命令选项:
-n
:显示文件行号;
-s
:不追加多行空行。
cat
指令如果后面不跟文件,默认从键盘读数据,按
ctrl+c
退出。
18、echo指令
echo
:默认是向显示器打印。
>
:输出重定向符号,这里和
echo
搭配使用,如果目标文件不存在,系统会自动创建并把本来应该显示到显示器上的文本,写入到文件中。输出重定向是覆盖式写入,准备写入之前会先清空文件。
>>
:追加重定向符号,可以不断的向文件中新增内容,不会删除之前的内容。
19、wc指令
wc
:默认统计文本中的内容(行数、字数、字节数)。
命令选项:-w
:统计字数;
-c
:统计字节数;
-l
:统计文本文件的行数。
<
:输入重定向。
20、more指令
more
:功能和
cat
指令类似,
cat
指令用来查看短文本内容是最好的,如果用来查看长文本内容比较麻烦。用
more
指令可以适应屏幕大小查看,但是只能下翻不能上翻,按回车向下查看(按行查看),按
q
退出查看。
more
命令支持搜索
/+想搜索的内容
。
21、less指令
less
:可以通过
pageup
、
pagedown
向前或者向后浏览文件,而
more
只能向后浏览,
less
的搜索功能更加强大,‘/+想搜索的内容’,同时可以按n找下一个出现的位置,不止可以向下搜,还可以向上搜。按
q
退出查看。
22、head指令
head
:用来显示(打印)文本的前n行,如果只输入
head
会是输入什么打印什么。一般
head
后面跟的是文件名,默认会打印前10行。也可以添加命令选项使其自定义显示的行数,如
head -n5 文件名
,表示显示前5行。
23、tail指令
tail
:打印文本的后若干行,默认也是打印后10行。也可以通过命令选项的方式自定义查看后面的行数,如
tail -n5 文件名
,表示显示文本最后5行。
|
:命令行管道,整个命令行的处理结果以最后一个为准。下图分别表示文件
file.txt
中的行数和文件中第6~8行的内容。
24、date指令
date
:能够显示当前时间的指令。
date
指定格式显示时间:
date +%Y:%m:%d
,显示时间的格式可以更改,但是
%
不能省略。
时间戳:根据格林威治时间的1970年的1月1日的00:00开始的。
24、cal指令
cal
:可以用来显示公历(阳历)日历。命令格式
cal [参数] [月份] [年份]
,默认显示当月月历;如只有一个参数,则表示年份,如有两个参数,则表示月份和年份。
命令选项:-3
:显示系统上一个月、当前月、下一个月的月历;
-j
:显示在当年中第几天;
-y
:显示当前年份的日历。
25、sort指令
sort
:对文本内容按行进行排序,从左到右按照第一个值的ASCII码值进行比较并且排序,默认升序,-r降序。
26、uniq指令
uniq
:文本去重,相邻的相同的(数字个数不同即为不同)只保留一个。下图中表示升序且相邻的相同的数字只保留一个。
27、find指令
find
:按照文件名查找文件。如下图表示在家目录下寻找
t.txt
文件。
28、which指令
which
:帮助我们取搜索指令所在的位置。下图中为搜索
ls
和
pwd
指令所在的位置。
29、whereis指令
whereis
:可以帮我们取搜索对应的文档程序。指令就是一个文件,就是一个可执行程序。
30、alias指令
alias
:给指令起别名。
31、grep指令
grep
:在文件中搜索字符串,将找到符合搜索的行打印出来。
grep [选项] 搜寻字符串 文件
,命令选项:
-i
:忽略大小写的不同;
-n
:输出行号;
-v
:反向选择,即显示出没有搜索字符串内容的行。
在用grep
的时候用上单引号或者双引号,避免在搜索空字符串时出错。
32、top指令
top
:任务管理器,查看cpu等,
q
退出任务管理器。
33、zip/unzip指令
zip
:将目录或文件压缩成
zip
格式,常用选项
-r
表示递归处理,将指定目录下的所有子文件和子目录一并处理。如果不加
-r
不能将目录中的子文件和子目录打包压缩。
unzip
:解压,默认解压到当前目录,也可以指定目录,后面加上
-d 路径名
。
*
:通配符,如
rm *.c
表示删除所有后缀为.c的文件。
下面第一张图为没有加上-r
选项,解压后只有单个目录,里面没有文件;第二张图加上
-r
选项,解压之后里面有文件存在。
扩展:为什么要进行打包压缩?
打包防止丢失,压缩用特定的算法对体积进行减小。打包和压缩在本地进行,但是应用却是在网络通信场景中。
34、tar指令
tar
:打包/解包,可以不打开它直接看里面的内容。
命令选项:-c
创建一个压缩包;
-z
使用打包的同时压缩;
-f
打包时候紧跟的必须是新的压缩包的名字,建议把
-f
放在最后。
tar -czf 压缩文件 源文件
:把源文件打包形成压缩文件,其中
-czf
是固定选项,一般用
tar
命令打包后缀为
tgz
。
tar -xzf 解压文件
:解压。默认解压到当前目录,可以用
-C
指明要解压的路径。
tar -ztvf 压缩包名
:查看压缩包里的内容。
tar -ztf
:只看压缩包里的文件名。
tar
指令中可以不带
-
。
35、bc指令
bc
:相当于Linux中的计算器。按
ctrl+c
退出计算器。
36、uname指令
uname
:用来获取电脑和操作系统的相关信息,
uname
可显示Linux主机所用的操作系统的版本、硬件的名称等基本信息。
命令选项:-r
:查看Linux的体系结构;
-a
:详细输出所有信息。软件体系结构:主机名、内核版本 (主、次、修正次数)。el7(el是centos的代称,el7指的就是centos7)。
37、shutdown指令
shutdown
:关机指令,常见命令选项:
-h
:将系统的服务停掉后,立即关机;
-r
:在将系统的服务停掉后就重新启动。
-t sec
:
-t
后面加秒数,即过几秒关机。
但是云服务器一般不关机,可以直接重启(reboot
指令)。
38、常用热键
tab
1.自动补齐功能:根据已经输入的,显示出所有以输入开头的选项,连续按tab键。
2.不知道目录下是否还有目录,也可以按tab查看,显示出来的后面有/的是目录,当目录中没有时,不会显示,仅剩最后一个目录时,会直接跟在后面。
3.tab还能查看相对路径返回时候的目录。
其他热键
ctrl+c
:退出,强制终止前台影响我输入指令的程序。
ctrl+d
:键盘输入结束、也可以退出用户。
ctrl+r
:在输入的历史命令中进行搜索。
上下方向键可以查看之前输入的命令。history
:历史上输入的指令保存起来并且显示在显示器上,也可以将输入的命令保存在文本中(history>cmd.txt)。
版权归原作者 蜗牛牛啊 所有, 如有侵权,请联系我们删除。