Linbux,Windos,MacOS 都是给予Unix发展而来的操作系统
多用户,多任务,多线程,多cpu,继承了Unix以网络为核心的思想,1991年10月5号
Linux Torvalds
用于显示工作目录的路径
显示工作目录
cd
切换工作目录
cd [相对路径或者绝对路径]
cd ../返回上一级目录
cd -返回前一个工作目录
cd ~ 返回用户主目录(home变量指定的目录)
cd . 表示当前目录
展示当前文件夹下的文件及文件夹
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 | 以文件的大小进行排序。 |
不同的类型有着不同的颜色用以区分
颜色 | 含义 |
---|---|
绿色 | 可执行文件 |
红色 | 压缩文件 |
深蓝色 | 目录 |
浅蓝色 | 链接文件 |
灰色 | 其他文件 |
用于以树状图列出目录的内容。
执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
创建一个目录或者级联目录
格式
g@g-virtual-machine:/usr$ cd ~
g@g-virtual-machine:~$ mkdir G
g@g-virtual-machine:~$ ls
examples.desktop VMwareTools-10.0.6-3595377.tar.gz 模板 文档 桌面
G vmware-tools-distrib 视频 下载
process_demo 公共的 图片 音乐
madir常见选项参数
选项参数 | 说明 |
---|---|
-m | 为目录指定访问权限 |
-p | 建立目录时,如果父目录不存在,则与子目录一起建立 |
-v | 为每个目录显示提示信息 |
创建文件
在当前目录创建文件
g@g-virtual-machine:~/桌面$ touch demo
g@g-virtual-machine:~/桌面$ touch demo.txt
g@g-virtual-machine:~/桌面$ ls
demo demo.txt process_demo
在指定目录创建文件
- 当前目录子目录
- 当前目录的父目录的非当前目录的子目录
指定文件格式
一次创建多个文件
touth file1 file2 file 3
touth file{m,n}
touch [选项] 文件名
选项参数如下表:
选项参数 | 说明 |
---|---|
-a | 仅修改访问时间 |
-c | 仅修改文件的时间,若该文件不存在则不创建新文件。 |
-d | 后面可以接欲修改的日期而不用目前的日期,或用 --d=“日期或时间” |
-m | 仅修改mtime |
-t | 后面可以接欲修改的时间而不用目前的时间,格式为[YYMMDDhhmm] |
rmdir [空文件夹名]
remove
mv G/G1.txt GG/G1_1.txt #将G目录下的G1.txt 移动到GG目录下 重命名为G1_1.txt
cp 源文件(目录) 目标文件(目录)
cp G/G1.txt GG/G1_1.txt #将G目录下的G1.txt 复制到GG目录下 重命名为G1_1.txt
whoami
who
显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
exit
用户(user)和用户组(group)管理命令
用户(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 | 显示用户所属的用户组 |
help 命令名 用于内部命令
命令名 --help 用于外部命令
获得某个命令的说明以及使用方式的详细介绍
man 命令名
man手册的内容很多,涉及了Linux使用过程中的方方面面,为了便于查找,man 手册被进行了分册(分区段)处理,手册通常被分为以下9个区段:
1 | Standard commands(标准命令) |
---|---|
2 | System calls(系统调用) |
3 | Library functions(库函数) |
4 | Special devices(设备说明) |
5 | File formats(文件格式) |
6 | Games and toys(游戏和娱乐) |
7 | Miscellaneous(杂项) |
8 | Administrative Commands(系统管理命令和守护进程) |
9 | other(其他,用来存放内核例行程序的文档) |
所有的手册页遵循一个常见的布局,一般包括以下部分内容:
1)手册名称与所在章节,如上图最上方的 LS(1),其中 LS 表示手册名称,(1)表示该手册位于第一章节。
2)NAME(名称):该命令或函数的名称,接着是一行简介。
3)SYNOPSIS(概要):对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。
4)DESCRIPTION(说明):命令或函数功能的文本描述。
5)EXAMPLES(示例):常用的一些示例。
6)SEE ALSO(参见):相关命令或函数的列表。
除以上内容外,不同命令存在其它部分内容,但这些部分没有得到跨手册页的标准化。
常见的例子有:OPTIONS(选项)、EXIT STATUS(退出状态)、ENVIRONMENT(环境)、BUGS(程序漏洞)、FILES(文件)、AUTHOR(作者)、REPORTING BUGS(已知漏洞)、HISTORY(历史)、COPYRIGHT(版权)等,大家了解一下即可。
man设置了如下的功能键:
| 功能键 | 功能 |
| man设置了如下的功能键:
功能键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出man命令 |
h | 列出所有功能键 |
/word | 搜索word字符串 |
-------------------- | |
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出man命令 |
h | 列出所有功能键 |
/word | 搜索word字符串 |
info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。
man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。
文件搜索:
find命令用来进行文件搜索,其功能十分强大,但由于搜索很占系统资源,建议尽量少使用find命令来执行搜索任务。在使用find命令时,应该尽可能缩小搜索范围,避免服务器使用高峰期进行文件搜素。
综上所述,在整理Linux文件时,尽可能保证规范化,提前规划好文件的存放目录。
find[搜索目录][-name][--namne][搜索字符] -name区分大小写 --name不区分大小写
精确搜索
模糊搜索*/?
根据文件大小搜索
find [搜索目录] -size
根据所有者或者所有组搜索
find [目录名] -group
find [目录名] -user
locat
在文件资料库中查找文件
locate [文件名]
ocate命令和find命令的区别:
find命令是全盘检索。
locate是在文件资料库中进行搜索。
因此,locate命令的执行速度比find快。这里 需要注意的是,文件资料库是需要不断更新的。我们新建的文件如果不更新文件资料库,就无法使用locate查询。
手动更新资料库,我们可以使用updatedb命令,但对于/tmp目录下的新建文件,是无法更新的,因为/tmp目录不属于文件资料库的收录范围。
which
搜索文件所在目录及信息
whereis
英文全称GNU ZIP
压缩文件,扩展名为 .gz
gzip [文件名]
该命令只能用于压缩文件,不能压缩文件夹
解压.gz文件
gunzip [压缩文件名]
将文件压缩为.tar.gz格式
tar [选项] [压缩后的文件名] 目录
选项说明:
-c : 打包
-x : 解包
-v :显示详细信息
-f :指定文件名
-z :打包文件同时解压文件
将文件或者目录压缩为.zip
zip [/-r] [压缩后文件名] 要压缩的文件或者目录
-r:压缩目录及目录内的所有文件夹
unzip 解压
unzip [.zip格式拓展名文件]
将文件压缩为.bzip2格式
将.bzip2后缀的压缩文件解压
bunzip2 [/-k] 文件
-k表示保留原文件
查看当前时间
g@g-virtual-machine:~$ date '+%Y-%m-%d-%H:%M:%S'
2019-08-08-13:39:29
format格式 | 含义 |
---|---|
%Y,%y | 年 |
%m | 月 |
%d | 日 |
%H | 时 |
%M | 分 |
%S | 秒 |
查看日历
g@g-virtual-machine:~$ cal
八月 2019
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
查看进程的详细情况,常用选项
选项 | 作用 |
---|---|
-a | 显示终端上所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
-r | 显示正在运行的进程 |
-w | 显示加宽,以便显示更多的信息 |
sudo reboot #重启
sudo shutdown #关机
shutdown -r 14:20 #在14:20关机重启
init 0 关机
init 6 重启
df
sudo df -m
选项 | 作用 |
---|---|
-a | 显示所有文件系统的磁盘使用情况 |
-m | 以1024为单位显示 |
-t | 显示个指定文件系统的磁盘使用情况 |
-T | 显示文件完成 |
kill
kill [-signal] pid
signal:信号值0-15
9,表示绝对终止,用来终止
用于显示或设置网络设备。
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地址]