Linux基础命令
1.文件和目录操作的基本指令
指令名 | 描述 |
---|---|
pwd | 显示当前所在位置 |
cd | 切换工作目录 |
ls | 列出当前文件夹下的文件和文件夹 |
mkdir | 创建新文件夹 |
touch | 创建新文件 |
rmkir | 删除空目录 |
rm | 删除文件 |
cp file file1 | 复制前一个文件到第二个文件 |
mv file file1 | 将文件移动到一个位置,假如是同一路径则重命名 |
-
四个特殊符号:
~(波浪线):表示用户主目录,即home变量指定的目录
-(短横):表示前一个工作目录
.(一个点):表示当前目录
…(两个点):表示上级目录
-
不同文件(夹)名称有不同的颜色,含义为:
绿色:可执行文件
红色:压缩文件
深蓝色:目录
浅蓝色:链接文件
灰色:其他文件
1.1ls指令拓展
No. | 命令 | 说明 |
---|---|---|
1 | ls -a | 列出文件下所有的文件,包括以“.”开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在…代表存在着父目录)。 |
2 | ls -l | 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。 |
3 | ls -F | 在每一个文件的末尾加上一个字符说明该文件的类型“@”表示符号链接、“|”表示FIFOS、“/”表示目录、“=”表示套接字。 |
4 | ls -s | 在每个文件的后面打印出文件的大小。 size(大小) |
5 | ls -t | 按时间进行文件的排序。 Time(时间) |
6 | ls -A | 列出除了“.”和“…”以外的文件。 |
7 | ls -R | 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现 |
8 | ls -L | 列出文件的链接名。Link(链接) |
9 | ls -S | 以文件的大小进行排序。 |
1.2 mkdir指令拓展
No. | 命名 | 说明 |
---|---|---|
1 | mkdir -m | 为目录指定访问权限 |
2 | mkdir -p | 建立目录时,如果父目录不存在,则与子目录一起创建 |
3 | mkdir -v | 为每个目录显示提示信息 |
一个创建多个文件或者文件夹:
mkdir test{1..3}
touch test{1..3}
touch file1 file2 file3
1.3touch指令拓展
选项参数如下表:
选项参数 | 说明 |
---|---|
-a | 仅修改访问时间 |
-c | 仅修改文件的时间,若该文件不存在则不创建新文件。 |
-d | 后面可以接欲修改的日期而不用目前的日期,或用 --d=“日期或时间” |
-m | 仅修改mtime |
-t | 后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm] |
1.4用户权限管理命令
指令名 | 描述 |
---|---|
whoani | 查看当前系统当前账号用户名 |
su root | 将当前用户权限提到管理员 |
exit | 退出当前权限 |
用户(user)的概念
Linux是多用户操作系统,我们可以建立多个用户(user)。比如,朋友想借你的电脑使用一下,但你的用户名下有不想让人看到的资料,这时就可以新建一个用户名给朋友使用。
除此以外,Linux中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org的网页程序,就是nobody用户;我们匿名访问ftp时,会用到用户ftp或nobody;如果您想了解Linux系统的一些帐号,可以查看 /etc/passwd 。
用户组(group)的概念
用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的。
用户和用户组的****关系
二者的关系是:一对一、多对一、一对多或多对多。
| 关系 | 说明 |
| :--------: |: ------------------------------------------------------ ?
| 一对一 | 某个用户可以是某个组的唯一成员 |
| 多对一 | 多个用户可以是某个唯一的组的成员,不归属其它用户组 |
| 一对多 | 某个用户可以是多个用户组的成员 |
| 多对多 | 多个用户对应多个用户组,并且几个用户可以是归属相同的组 |
用户(user)和用户组(group)相关的配置文件、命令
1与用户(user)和用户组(group)相关的配置文件
1)与用户(user)相关的配置文件
/etc/passwd (用户(user)的配置文件);
/etc/shadow (用户(user)影子口令文件);
2)与用户组(group)相关的配置文件
/etc/group (用户组(group)配置文件);
/etc/gshadow (用户组(group)的影子文件);
2、管理用户(user)和用户组(group)的相关工具或命令;
1)管理用户(user)的工具或命令
命令 | 说明 |
---|---|
useradd 用户名 | 添加用户 |
passwd 用户名 | 为用户设置密码 |
usermod | 修改用户命令,可以通过usermod 来修改登录名、用户的家目录 |
pwcov | 同步用户从/etc/passwd 到/etc/shadow |
2)管理用户组(group)的工具或命令
命令 | 说明 |
---|---|
groupadd | 添加用户组 |
groupdel | 删除用户组 |
groupmod | 修改用户组信息 |
groups | 显示用户所属的用户组 |
1.5帮助命令
help、man、manual pages、info
作用:用来获得某个命令的说明以及使用方式的详细介绍
#demo:
info ls
man python
cd --help
man设置了如下的功能键:
功能键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出man命令 |
h | 列出所有功能键 |
/word | 搜索word字符串 |
如果觉得 man 显示的信息都还不够,满足不了需求,那么可使用 info 命令来获取帮助。
info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。
man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。
1.6文件搜索命令
find
搜索方法:
- 根据文件或目录名称搜索
find [搜索目录][-name/-iname][搜索字符]
-name:区分大小写;-iname:不区分大小写
find /home -name city_college_demo.txt
find /home -iname city_college_demo.txt
精准搜索
模糊搜索 */?
根据文件大小搜索
find[搜素目录] -size +n/-n/n
根据所有者或所属组搜索
find[目录名] -group 组名
find[目录名] -user 用户名
find命令用来进行文件搜索,其功能十分强大,但由于搜索很占系统资源,建议尽量少使用find命令来执行搜索任务。在使用find命令时,应该尽可能缩小搜索范围,避免服务器使用高峰期进行文件搜素。
综上所述,在整理Linux文件时,尽可能保证规范化,提前规划好文件的存放目录。
locate
作用:在文件资料库中查找文件
格式:
locate [文件名]
#demo:
gau@ubuntu:~$ sudo updatedb
gau@ubuntu:~$ locate university
/home/gau/university
locate命令和find命令的区别:
find命令是全盘检索。
locate是在文件资料库中进行搜索。
因此,locate命令的执行速度比find快。这里 需要注意的是,文件资料库是需要不断更新的。我们新建的文件如果不更新文件资料库,就无法使用locate查询。
手动更新资料库,我们可以使用updatedb命令,但对于/tmp目录下的新建文件,是无法更新的,因为/tmp目录不属于文件资料库的收录范围。
which
作用:搜索命令所在目录
格式:
which [命令]
#demo:
gau@ubuntu:~$ which ls
/bin/ls
whereis
作用:搜索命令所在目录及帮助文档的路径
格式:
whereis [命令]
#demo:
gau@ubuntu:~$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
gau@ubuntu:~$ whereis python
python: /usr/bin/python3.5 /usr/bin/python3.5m /usr/bin/python2.7 /usr/bin/python /usr/lib/python3.5 /usr/lib/python2.7 /etc/python3.5 /etc/python2.7 /etc/python /usr/local/lib/python3.5 /usr/local/lib/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz
1.7压缩解压命令
gzip 命令
英文全称GNU zip
作用:压缩文件,文件拓展名为.gz
语法格式:
gzip [需要压缩的文件]
该命令只能压缩文件,而不能压缩目录,并且压缩后不保留源文件。
gunzip
GNU unzip
作用:解压.gz格式文件
gunzip [压缩文件名]
tar -zcf命令
作用:将文件压缩为.tar.gz格式
tar [选项][压缩后的文件名] 目录
选项说明:
-c:打包
-v:显示详细信息
-f:指定文件名
-z:打包文件同时压缩文件
解压缩
格式:
tar 选项 [.tar.gz格式文件名][指定解压后文件存放目录,默认是当前]
选项说明
-x:解包
-v:显示详细信息
-f:指定解压文件
-z:解压缩
zip命令
作用:将文件或者目录压缩为.zip格式。
格式:
zip [/-r] [压缩后文件名] 要压缩的文件或者目录
-r:压缩目录及目录内的所有文件(夹)
unzip 解压
unzip [.zip格式拓展名文件]
bzip2
作用:将文件压缩为.bz2格式
注意只能压缩文件
格式:
bzip2 [/-k]文件
-k,保留源文件
bunzip2
作用:解压.bz2格式压缩文件
格式:
bunzip2 [/-k]文件
1.8系统管理命令
date
format格式 | 含义 |
---|---|
%Y,%y | 年 |
%m | 月 |
%d | 日 |
%H | 时 |
%M | 分 |
%S | 秒 |
cal
gau@ubuntu:~$ date
Wed Aug 7 22:39:38 PDT 2019
gau@ubuntu:~$ date '+%Y/%m/%d'
2019/08/07
gau@ubuntu:~$ cal -y
2019
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 1 2 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30
31
......................
ps:查看进程的详细情况,常用选项
选项 | 作用 |
---|---|
-a | 显示终端上的所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
-r | 显示正在运行的进程 |
-w | 显示加款,以便显示更多的信息 |
#demo:
gau@ubuntu:~$ ps -a
PID TTY TIME CMD
887 tty1 00:00:00 bash
3046 pts/0 00:00:00 ps
gau@ubuntu:~$ ps -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
gau 887 0.0 0.2 22292 4780 tty1 S+ 16:24 0:00 -bash
gau 3024 0.0 0.2 22260 4812 pts/0 Ss 22:52 0:00 -bash
gau 3047 0.0 0.1 37364 3256 pts/0 R+ 23:00 0:00 ps -u
sudo reboot #重启
sudo shutdown #关机
shutdown -h +20
init 0 关机
init 6 重启
1.9检测磁盘空间
df
sudo df -m
选项 | 作用 |
---|---|
-a | 显示所有文件系统的磁盘使用情况 |
-m | 以1024字节为单位显示 |
-t | 显示各指定文件系统的磁盘使用情况 |
-T | 显示文件系统 |
1.10进程终止
kill
格式:
kill [-signal] pid
signal:信号值0-15,9表示终止,用来终止一般信号无法终止的进程。
博主QQ:1031748759,欢迎批评指正!!!