Introduction:Linux中一切皆为文件,不像Windows一样有各个磁盘,Linux中的磁盘也是可以当做文件来进行处理的,通常磁盘是被挂载到/dev目录下。
Linux系统新手很难理解它引用文件和目录的方式,对于习惯于Windows 操作系统方式人来说更是如此,在深入学习Linux系统前,首先要了解下它与Windows不同之处。
第一个不同之处是,Linux中的路径名不使用驱动器盘符,而Windows则是为每个磁盘驱动分配一个盘符。
第二个不同之处是,Linux中只有一个根目录,而Window可以存在多个磁盘盘符,而不是一个。
第三个不同之处是,Linux使用正斜杠/而不是使用反斜杠\来连接两个目录。
Linux系统安装资源:
链接:https://pan.baidu.com/s/1EjtmVMdStY6JuTOvBCzieA
提取码:fcws
下载VMware软件、ubuntu镜像(上面是下载地址)
安装软件,软件秘钥:VC1J8-0TX11-M84WP-2WNGX-PQKD8(如果有问题可以问)
安装Ubuntu系统
安装Vmware软件教程:https://blog.csdn.net/qq_32786873/article/details/78725247
版本不一样,但是基本的流程类似
安装Ubuntu系统:https://blog.csdn.net/weixin_44218204/article/details/86083625
基本流程相似,相互可以做参考
Ubuntu学习电子书
Command | Analysis |
---|---|
cd | cd(Change Directory): 切换当前目录 |
pwd | pwd(Print Working Directory ):显示当前所在目录 |
ls | ls(list): 列出指定目录列表信息,如果没有参数,默认列出当前目录下的所有文件和文件夹(隐藏文件和文件夹除外) |
touch | 命令格式:touch filename 创建一个新的空文件 |
rm | 删除我们已经有的或者创建的文件filename |
mkdir | 新创建一个文件夹 |
rmdir或者rm -r | 删除(remove)文件夹(空/非空) |
cp | 将一个或多个源文件或者目录复制到指定的目录中 |
mv | 来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中 |
man | 查询命令的帮助文件 |
info | 查询命令的帮助文件 |
whatis (command) | 用来显示命令的简短描述 |
useradd | 创建一个新用户 |
userdel | 删除一个已经存在的用户 |
passwd | 修改用户密码 |
chpasswd | 批量修改用户密码(更改的是/etc/passwd文件) |
login | 让用户登录系统 |
su | 切换用户身份 |
cat,head,tail | 查看文件内容(不能编辑只能查看) |
groupadd | 创建一个新用户组 |
groupdel | 删除一个已经存在的用户组 |
id,group | 查看一个用户所属的组 |
usermod | 修改用户组 |
groupmod | 修改用户组信息 |
finger | 来查询用户的信息(默认没有安装) |
chmod | 修改文件权限 |
df | 显示磁盘分区上的可使用的磁盘空间(默认显示单位为KB) |
du | 对文件和目录磁盘使用的空间的查看 |
ln | 创建一个超链接文件 |
mount | 可以将分区挂接到 Linux 的一个文件夹下 |
mkisofs | 制作成一个光盘镜像文件 |
locate | 用来查找文件或目录 |
updatedb | 创建或更新locate命令所必需的数据库文件。 |
which | 用来查找系统PATH目录下的,可执行文件(shell内建命令) |
whereis | 可以用来查找二进制(命令)、源文件、man文件。通过文件索引数据库而非PATH来查找的,所以查找的面比which要广 |
find | 在指定目录下查找文件 |
Extension usage | 常用特殊文件、文件夹与目录表示 |
---|---|
Command | Analysis |
cd | 进入用户主目录 |
cd ~ | 进入用户主目录 |
cd / | 切换当前目录到根目录 |
cd - | 返回进入此目录之前所在的目录 |
cd … | 返回上级目录(若当前目录为”/“,则执行完后还在”/“;”…”为上级目录的意思) |
cd …/… | 返回上两级目录 |
cd !$ | 把上个命令的参数作为cd参数使用 |
常见ls命令选项 | |
ls -l | 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等 |
ls -li | 查看文件的详细信息(包括链接) |
ls -a | 显示所有文件和文件夹(包括隐藏文件/文件夹)。 |
ls param 目录 | -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);-A:显示除影藏文件“. ”和“.. ”以外的所有文件列表;-l:列出内容的详细信息;-r:以文件名反序排列并输出目录内容列表;-s:显示文件和目录的大小,以区块为单位;-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;-R:递归处理,将指定目录下的所有文件及子目录一并处理。 |
touch filename | 创建一个新的文件filename,如果想同时创建多个文件也可以使用touch命令完成,具体格式如下:touch file1 file2 …只需将不同的文件名用空格分隔即可完成创建多个文件。 |
rm [option] filename | 常用命令选项: -f:强制(force)删除文件或目录; -r或-R:递归(recursion)处理,将指定目录下的所有文件与子目录一并处理; -i:删除已有文件或目录之前先询问(inquiry)用户。可以使用通配符来删除文件。 |
mkdir [option] dirname | 常用命令选项: -p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录; |
rmdir [option] dirname | 常用命令选项:-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;可以使用通配符来删除目录。 |
cp [option] (源文件) (目的文件) | 常用命令选项: -f:强行复制文件或目录,不论目标文件或目录是否已存在;-i:覆盖既有文件之前先询问用户;-p:保留(keep)源文件或目录的属性;-R/r:递归处理,将指定目录下的所有文件与子目录一并处理。 |
mv [option] (源文件) (目标文件) | 常用命令选项:-f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户;-p:保留源文件或目录的属性;-R/r:递归处理,将指定目录下的所有文件与子目录一并处理’。可以使用通配符来移动目录,源目录和目标目录重名,则采用合并的方式,其对于文件则是直接覆盖。 |
cat 参数 文件名 | 常用参数如下:-n 或 --number:由1开始对所有输出的行数编号;–b 或 --number-nonblank:和-n相似,只不过对于空白行不编号。 |
head 参数 文件名 | -n number:显示文件的前number行内容;从文件的开头显示内容,默认情况下只显示前10行的内容 |
tail 参数 文件名 | -n number:显示文件的最后number行内容;从文件的结尾显示内容,默认情况下只显示最后10行的内容 |
Notice:mkdir命令创建一个空目录后,该目录下只存在两个特殊的目录,分别是.
和..
Extension usage | 查询命令帮助语句 |
---|---|
Command | Analysis |
man [章节] command | 常用命令如下:d, Ctrl+D: 向文件尾部(afterbody)翻半屏;u, Ctrl+U: 向文件首部(prelude)翻半屏; q: 退出; #:跳转至第#行; 1G: 回到(go back)文件首部; G:翻至(go to)文件尾部。 |
man /KEYWORD: | 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索,不区分字符大小写;-n: 下一个, -N:上一个(n同方向,N反方向,相对关键字搜索方向) |
man ?KEYWORD | 以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索,不区分字符大小写; -n: 跟搜索命令同方向,下一个,-N:跟搜索命令反方向,上一个 |
info [option] command | 常用命令参数选项:-d:添加包含info格式帮助文档的目录;-f:指定要读取的info格式的帮助文档;-n:指定首先访问的info帮助文件的节点(node);-o:输出(out)被选择的节点内容到指定文件。常见命令如下:?键:它就会显示info的常用快捷键;N键:显示(相对于本节点的)下一节点的文档内容;P键:显示(相对于本节点的)前一节点的文档内容;U键:进入当前命令所在的主题(subject);M键:敲M键(document)后输入命令的名称就可以查看该命令的帮助文档了;G键:敲G键后输入主题(generated)名称,进入该主题;L键:回到上一个访问的页面;SPACE键:向前滚动一页;BACKUP或DEL键:向后滚动一页;Q:退出info。 |
从广义上讲,Linux系统账户包括用户账号和组账号两类。用户账号又分为普通用户账号和超级用户账号(root) ;组账号又分为私有组、系统组和标准组。
Detail:
建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。
标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。
系统组是Linux系统自动建立的。
Extension usage | 用户管理 |
---|---|
Command | Analysis |
useradd [命令参数] 参数 | 常见命令参数:-d<登入(add)目录>:指定用户登入时的启始目录;-D:查看或变更预设值(data);-g<群组>:指定用户所属的群组; -G 组名 用户名同时为用户添加其它组;-m:自动建立用户的登入目录;-M:不要自动建立用户的登入目录;-s:指定用户登入后所使用的shell。 |
userdel [命令参数] 参数 | 常见命令参数:-f:强制删除用户,即使用户当前已登录;-r:删除用户的同时,删除与用户相关的所有文件。 |
groupadd [命令参数] 参数 | 常见命令参数:-g:指定新建工作组的id;-r:创建系统工作组,系统工作组的组ID小于500; |
groupdel 参数 | 参数为要删除的用户组名 |
id [order] 参数 | 参数为要查询的用户名,默认是当前登录用户。常见命令参数:-g或–group:显示用户所属群组的ID;-G或–groups:显示用户所属附加群组的ID;-n或–name:显示用户,所属群组或附加群组的名称。 |
groups (args) | 参数为要查询的用户名,默认是当前登录用户。一个用户是可以属于多个组 |
usermod 命令 参数 | 常见命令参数:-c<备注>:修改用户帐号的备注文字;-d<登入目录>:修改用户登入时的目录;-e<有效期限>:修改帐号的有效期限;-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;-g<群组>:修改用户所属的群组;-G<群组>;修改用户所属的附加群组;-l<帐号名称>:修改用户帐号名称;-L:锁定用户密码,使密码无效;-s:修改用户登入后所使用的shell;-u:修改用户ID;-U:解除密码锁定。 |
groupmod [命令参数] 参数 | 常见命令参数:-g<群组识别码>:设置欲使用的群组识别码;-n<新群组名称>:设置欲使用的群组新名称。 |
finger [command] 参数 | 常见命令参数:-l:多行显示;-s:单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。 |
Notice:useradd、userdel、passwd、chpasswd、groupadd、groupdel、usermod必须以root权限才能执行,如果是普通用户想创建一个新用户时,需要在命令前加sudo命令来提升权限为root权限。
id,group命令的执行权限是面向所有用户。
使用useradd命令新创建一个用户test,并且自动建立用户的登入目录。
我们了解到,Linux中用户信息是保存在/etc/passwd文件中,我们可以使用命令tail /etc/passwd命令查看/etc/passwd文件最后10行中是否存在刚刚新创建的test用户信息。
新创建一个用户组newGroup,并且使用useradd命令新创建用户newUser同时将其所属组修改为newGroup。
新创建一个用户组newGroup,并且使用useradd命令新创建用户newUser同时为其添加一个新的用户组newGroup。
注意:我们可以看到有时执行sudo命令就不需要输入密码,这是因为每次都输入密码比较麻烦,所以Linux会设置一个sudo的会话时间,就是说我们在第一次执行sudo的时候是要输入密码,那么在接下来的一段时间内在执行sudo的时候就不需要输入密码,这个会话时间默认是5分钟,用户也可以通过编辑/etc/sudoers来修改这个会话时间的大小。
同样我们可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在刚刚新创建的testGroupID用户信息。
注意:Ubuntu系统中默认没有安装finger命令,用户可以通过以下命令来安装finger,然后就可以使用finger。
sudo apt-get install finger
Extension usage | 用户密码管理 |
---|---|
Command | Analysis |
passwd [命令参数] 参数 | 常见命令参数:-d 删除密码;-l 停止账号使用;-S 显示密码信息。 |
chpasswd [命令参数] 参数 | 从标准输入批量读取成对的用户名和密码,其中输入的用户名和密码的格式为用户名:密码。 |
Linux中用户的登录密码是存放在/etc/shadow文件中,/etc/shadow文件中存放的是加密过后的密码,所以在/etc/shadow文件中看到的密码是加密过后的密文。
在第一个冒号和第二个冒号之间存放的是加密过后的密码,密码是以密文的方式存放,其中密文是由用户密码和其它信息加密后组成的,这里不做详细讲解,我们只需要知道如果第一个冒号和第二个冒号之间是*或者!或者空,则表示该用户没有密码,否则,则表示该用户是有密码。
例如:用户名fzm是存在密码,而mysql是不存在密码的。
使用useradd命令来新创建一个用户,使用passwd命令来设置登录密码。
使用useradd命令创建一个新用户(test),此时test用户是没有密码的,所以使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用户密码部分为!。
使用passwd命令为test用户设置密码时,可以看到需要输入两次密码,目的是为了确保两次输入的密码一致。当设置完密码后,可以看到/etc/shadow文件中test用户的密码部分已经为加密过后的密文。
使用passwd命令来清除用户的密码。
使用passwd命令清除用户test的登录密码,使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用户密码部分为空,此时test用户是没有密码的。
使用chpasswd命令修改用户密码
chpasswd命令通常是用于批量修改用户密码,从标准输入批量读取成对的用户名和密码,其中输入的用户名和密码的格式为用户名:密码。
例如要批量更新用户密码,将用户名和密码写入到一个文件中,格式如下所示:
然后执行执行如下命令来更新密码:
sudo chpasswd < batch.txt
Notice: < 符号表示输入重定向。
Extension usage | 用户登录 |
---|---|
Command | Analysis |
login [command] 参数 | 常见命令参数:-p:告诉login指令不销毁环境变量;-h:指定远程服务器的主机名。 |
su [command] 参数 | 常见命令参数:-c <指令>或–command=<指令>:执行完指定的指令后,即恢复原来的身份;-l或–login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;-m,-p或–preserve-environment:变更身份时,不要变更环境变量;-s或–shell=:指定要执行的shell。 |
Linux中添加用户后,用户在图形界面登录系统的方式和Windows一样,都是选择要登录的用户后直接输入登录密码即可。
introduction:login命令是让用户登录系统,可通过它的功能随时更换登入身份。当/etc目录里含名称为nologin的文件时,系统只允许root帐号登入系统,其他用户一律不准登入。
当使用login命令登录系统后,可以使用logout命令或者exit命令来退出当前用户登录,返回到登录前的用户状态。
参数为登录的用户名,可以不输入登录的用户名,直接输入login命令后回车,然后根据提示再输入用户名和密码。
Notice:login必须以root权限才能执行,如果是普通用户执行时,需要在命令前加sudo命令来提升权限为root权限。
使用login命令来登录系统(文件/etc/nologin不存在)。首先查看当前登录的用户名是fzm。
使用newUser用户来登录系统,然后查看当前登录的用户名。
使用logout或者exit命令退出newUser用户,然后在查看当前登录用户是否为fzm。
使用login命令来登录系统(文件/etc/nologin存在)。
在/etc目录下新创建一个nologin文件,使用如下命令创建:
sudo touch /etc/nologin
使用普通用户newUser来登录系统,查看是否可以登录成功。
发现使用newUser用户是无法登录系统的,只有使用root用户才能登录系统。
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号的密码。
当使用su命令切换用户后,使用exit命令退出当前身份,返回原有登录用户身份。
注:如果当前用户身份是root,则使用su命令切换到其他用户的时候不需要相应用户的密码,su命令所有使用者都可以执行。
参数为登录的用户名,如果没有参数,则默认切换为root用户。
Description:Linux将一个磁盘划分为不同的分区,每个分区可以有不同的格式,Linux用的系统格式有ext2、ext3和ext4。
Linux能够识别大多数的文件系统格式,包括Windows的系统格式,但是Windows无法直接识别Linux系统格式。
为解决文件的共享使用,Linux系统引入了两种链接:硬链接(hard link) 与软链接(又称符号链接,即soft link或symbolic link)。使用链接的好处可以提高磁盘使用率和文件的安全。
Linux中为了实现不同格式的文件系统可以同时访问,Linux采用的挂载的方法将不同格式的文件系统组织起来。
Extension usage | 磁盘中存放 |
---|---|
Command | Analysis |
df order args | 常用参数如下:-a或–all:包含全部的文件系统,包括系统特有的/proc等文件系统;-k : 以KB为单位显示各文件系统;-m : 以MB为单位显示各文件系统;-h : 以可读性较高的方式来显示信息;-i或–inodes:显示inode的信息。 |
du order args | 常用参数如下:-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;-h : 以可读性较高的方式来显示信息;-k : 以KB为单位显示容量;-m : 以MB为单位显示容量;-s : 列出总量,不列出每个目录占用的容量。 |
Linux中的链接类似于Windows的快捷方式,也就是很多的链接文件(link file)其实都指向同一个源文件(source file)。Linux中链接文件又分为硬链接和软链接两种。
硬链接指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬链接。
硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
硬链接特点如下:
Extension usage | 链接 |
---|---|
Command | Analysis |
ln 源文件 目标文件 | 不加参数为硬链接,软链接:-s 源文件 目标文件 |
软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
与硬链接不同的是,符号链接确实是一个新文件,当然它具有不同的I节点号;而硬链接并没有建立新文件。
软链接特点如下:
Extension usage | 查找、定位 |
---|---|
Command | Analysis |
locate [order] 文件/目录 | 常用命令参数如下:-c, --count 只输出找到的数量; -d, --database DBPATH 使用DBPATH指定的数据库,而不是默认数据库/var/lib/mlocate/mlocate.db; -i, --ignore-case 忽略大小写; -q, --quiet 安静模式,不会显示任何错误讯息;-e, --existing显示当前所存在文件条目 |
updatedb 命令参数 | 常用参数如下:-o<文件>:忽略默认的数据库文件,使用指定的slocate数据库文件;-U<目录>:更新指定目录的slocate数据库;-v:显示执行的详细过程; |
which [order] | eg: which passwd |
whereis [order] 文件名 | 常用命令参数如下:-b:只查找二进制文件;-B<目录>:只在设置的目录下查找二进制文件;-m:只查找说明文件;-M<目录>:只在设置的目录下查找说明文件;-s:只查找原始代码文件;-S<目录>只在设置的目录下查找原始代码文件; |
find [dir] [-arg] content | 常用查找参数如下:-amin<+| -分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;-atime<+| -24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;-cmin<+| -分钟>:查找在指定时间之时被更改过的文件或目录;ctime<+| -24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;-mmin<+| -分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;-mtime<+| -24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;-depth:从指定目录下最深层的子目录开始查找;-exec<执行指令>:假设find指令的回传值为True,就执行该指令;-follow:排除符号连接;-gid<群组识别码>:查找符合指定群组识别码的文件或目录;-group<群组名称>:查找符合指定群组名称的文件或目录;-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;-inum| -| =文件大小>:查找符合指定的文件大小的文件;-type<文件类型>:只寻找符合指定的文件类型的文件;-a:是前后条件都要满足;-o :是满足一个条件就好;+:表示大于设置值的文件;- :表示小于设置值的文件;= :表示等于设置值的文件;-type 文件类型使用方法。常见文件类型:f:普通文件l:符号链接d:目录c:字符设备b:块设备s:套接字p:Fifo。size <+| -| =文件大小>使用方法,常见文件大小单位:b —— 块(512字节)c —— 字节 w —— 字(2字节)k —— 千字节 M —— 兆字节 G —— 吉字节。-exec使用方法,具体使用方法如下:find … -exec 要执行的命令 {} ; -exec选项后面跟随着所要执行的命令或脚本(针对找到的内容进行的操作),然后是一个空格一对儿{}一个空格和一个\ ;。注意:要执行的命令和{之间以及}与;之间的空格是不能省略的。 |
搜索etc目录下以pass开头的文件或目录,具体使用如下命令:
locate /etc/pass
搜索包含passwd字母的文件或目录总个数,具体使用如下命令:
locate -c passwd
新创建一个testFile文件,更新locate数据库后使用locate命令定位该文件,具体使用如下命令:
touch testFile
locate testFile
sudo updatedb
locate testFile
删除testFile文件,更新locate数据库后使用locate命令定位该文件,具体使用如下命令:
rm testFile
locate testFile
sudo updatedb -U ./
locate testFile
使用whereis命令查找passwd命令所有信息,包括二进制文件位置、说明文件位置和源码文件位置,具体使用如下命令:
whereis passwd
使用whereis命令仅查找passwd命令二进制文件位置,具体使用如下命令:
whereis -b passwd
查找/etc目录下以my开头以.conf结尾的文件或目录,具体使用如下命令:
sudo find /etc -name "my*.conf"
查找/etc目录下在超过7天前被访问的文件或目录,具体使用如下命令:
sudo find /etc -atime +7
查找/etc目录下在5分钟内被访问的文件或目录,具体使用如下命令:
sudo find /etc -amin -5
查找/etc目录下以my开头的目录,具体使用如下命令:
sudo find /etc -name "my*" -a -type d
查找/etc目录下大于1M的文件,具体使用如下命令:
sudo find /etc -size +1M
查找/etc目录下大于1M的文件/目录的详细信息,具体使用如下命令:
sudo find /etc -size 1M -exec ls -l {} \;
Knowledge:我们知道要将建立起来的磁盘文件系统或软盘正式在Linux上启用,一定要将它载入到文件系统中,而所谓的载入点,则是该分区所在的目录,且该目录下的所有目录都归该分区所有。
如果要用来载入的目录非空,那么,载入了文件系统后,原目录下的文件就会暂时消失。例如:假设/home原本是属于根目录下的分区,其中有/home/test与/home/bird两个目录,此时,我们想要加入新硬盘,直接载入/home中,那么,当载入新分区时,/home目录显示该分区中内容,原有的test与bird这两个目录就会被暂时隐藏起来,并不是被覆盖掉,而是暂时隐藏,等分区被卸载后,该目录的内容就会再次显示。
Extension usage | 链接 |
---|---|
Command | Analysis |
mount -order [设备文件名] -挂载点 | 常用命令参数:-r:将文件系统加载为只读模式;-h:显示帮助信息并退出;-t :指定文件系统类型;-o :描述设备的挂载方式;常用文件系统类型:光盘或光盘镜像:iso9660;DOS fat16文件系统:msdos;Windows 9x fat32文件系统:vfat;Windows NT ntfs文件系统:ntfs;Mount Windows文件网络共享:smbfs;UNIX(LINUX) 文件网络共享:nfs;常用设备的挂载方式:loop:用来把一个文件当成硬盘分区挂接上系统;ro:采用只读方式挂接设备;rw:采用读写方式挂接设备iocharset:指定访问文件系统所用字符集 |
umount -order - 挂载点 / 设备名 | 常用命令参数:-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;-h:显示帮助信息并退出; |
注意:通常在挂载设备时不需要指定文件系统类型,mount会自动选择正确的类型。
执行权限:mount、amount必须以root权限才能执行,如果是普通用户想执行mount时,需要在命令前加sudo命令来提升权限为root权限。
mount是 Linux 下的一个命令,它可以将分区挂接到 Linux 的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。
mount命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,早先 Linux 发行版并不会自动挂载,必须使用mount命令来手动完成挂载。
第一条命令是将/etc/passwd文件制作成一个iso镜像文件;
第二条命令是创建一个挂载点;
第三条命令是将创建好的镜像文件挂载到/home/vcdrom目录下;
第四条命令是查看镜像文件的内容;
umount命令用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。
将上一个案例已经挂载好的镜像文件(mydisk.iso)卸载,然后看到挂载点目录内容。将镜像文件从/home/vcdrom目录卸载后,该目录还原为原有的内容,即为空目录。
1. htop
Function:互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses(提供字符终端处理库)。
2 . ps -ef | grep (nginx)
Function:检查Nginx进程是否存在。
ps命令:将某个进程显示出来,
grep命令:查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
Notice:中间的|是管道命令 是指ps命令与grep同时执行。
3. history
Function:通过history命令,可以查看我们在系统中输入过的命令。
Detail:
1) bash中默认命令记忆可达1000个。这些命令保存在主文件夹内的.bash_history中。
2) ~/.bash_history:记录的是前一次登录以前所执行过的命令。至于本次登录的命令暂时存储在内存中,注销成功后会写入文件中。
Parameter:
1) -a:追加本次会话新执行的命令历史列表,至历史文件;
2) -c:清空内存中的命令历史;
3) -d #:删除指定的历史命令,比如 history -d 100 ,就是删除第100个命令历史;
4) -n:将历史文件中,未读过的行,加载到内存中的历史列表,方便多个终端同步内存中的命令历史;
5) -p:我认为此命令就相当于echo的作用,但是使用history -p string输出的信息,不被记录到历史当中,也就是“不被记录的echo,隐形echo,你可以尝试使用history -p $变量名,这样就会觉得很像echo。但是如果你使用history -p string1 string2,会发现它并不像echo打印到一行,会打印成多行;
6) -r:读取历史文件中的所有历史命令,到内存中的历史列表,即使内存中的列表中,已经存在这条历史;
7) -s:伪造命令历史,比如history -s rm -rf /opt,这样写,并不会执行删除opt目录的操作,只是把这条没有执行的"命令"加入到了历史中;
8) -w:保存内存中历史列表到指定的历史文件,history -w ./test 把历史写入到当前目录的test文件中;
9) #:显示最近的#条历史,例如:history 99 ,表示显示最近的99条命令历史.
4. pwd
Detail: 是 Print Working Directory (打印工作目录)的缩写。
Function: 功能是显示用户当前所处的工作目录。
5. ./configure –prefix=/usr/local
Expand:源码的安装一般由有这三个步骤:配置(configure)、编译(make)、安装(make install)。
Detail:其中–prefix选项就是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较分散。
Notice:为了便于集中管理某个软件的各种文件,可以配置–prefix,
如:./configure –prefix=/usr/local
可以把所有资源文件放在/usr/local的路径中,就不会分散了。
1. iwconfig
Function:开启无线网卡的电源,并且查找区域内的无线网卡。查看无线网卡详细配置。
2. ifconfig
3. ifconfig -a
Function:显示或配置网络设备(网络接口卡)的命令,并且获取IP地址(如果使用DHCP的话),
配置网卡的IP地址语法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0。
4. ifconfig wlan0 up
Function:激活(启用)无线网卡。
5. rfkill block 0
Function:停用系统中第一个启用RFKill的设备。
还可以使用 rfkill 阻断某一类设备,或者所有启用了RFKill的设备。
6. rfkill block wifi
7. rfkill unblock wifi
Function:停用获启用系统中的所有Wi-Fi设备。
8. rfkill help
Function:获得 rfkill 可停用的完整设备类别列表。
9. airmon-ng check
10. airmon-ng check kill
Function:排查对之后一系列操作会有影响的进程。
11. airmon-ng start wlan0
Function:开启无线网卡的监听模式(notice:特殊网卡无需开启)。
12. airodump-ng wlan0mon
Function:使无线路由器开始监听。
13. airodump-ng -c [channel] -w [store_filename(path)] --bssid [AP Mac] wlan0mon
Function:获取验证数据包(握手信息),并且存入本地文件。
14. aireplay-ng -0 1 -a [AP Mac] -c [Client Mac] wlan0mon
Function:开始攻击,目的产生验证数据包(握手包)。
15. aircrack-ng -w [passwdfile] [capfile]
Function:抓到验证数据包(握手信息)后开始密码破解。
Notice:AP ARP协议 攻击 Mac 不变 IP 变
他的Mac地址 加我的IP地址 让它(路由器)误认为我是他
1) docker info
Function:显示Docker系统信息,其中包括镜像和容器数等。
Grammar:docker info [OPTIONS]
2) docker version
Function:显示docker版本信息。
Grammar:docker version [OPTIONS]
Notice:
1> -f:指定返回值的模板文件。
3) docker run
Function:创建一个新的容器,并运行一个命令。
Grammar:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Parameter:
1) -p:随机端口映射时,容器内部端口,随机映射到主机的高端口 / 指定端口映射时,Format:主机(宿主)端口:容器端口;
2)