创建链接文件
作用 | 格式 | 补充 |
建立硬链接 | ln -参数 源文件 目标连接文件 |
硬连接建立后,删除其中的一个后数据依然可以访问,只有硬连接为0时,数据旧无法访问了 硬连接不能给目录建立 目录自带2个硬连接,即目录中的 . .. ,表示当前目录和上一级目录 不可以在不同的文件系统内建立硬连接,由于inode是当前文件在本文件系统的索引值即只能在本分区使用,应以硬连接不能跨越文件系统 |
建立软链接 | ln -s 源文件 目标连接名 |
软连接只是一种指向关系,删除源文件则数据不可访问 * 可以通过ll命令查看软连接实际执行文件及位置 |
软硬连接的区别
硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
* 软连接的指向关系可以查看,硬连接不可以查看
* 连接数不同,软连接数不会增加
* 文件大小不同,硬连接文件大小与源文件一样
* 软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
目录以及文件相关操作
作用 | 格式 | 补充 |
创建目录 | mkdir [-p] [/路径/]目录名 | * -p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖 * -v 显示创建目录的详细过程 |
du命令 统计目录及文件的空间占用情况,查看某个目录中的各级子目录所占用的磁盘空间数 | du [参数] [目录名] |
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。 -s 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小 -h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性 |
创建普通文件 |
touch 文件名1 文件名2 文件名3 touch {文件名1,文件名2,文件名3} |
如果文件不存在,则表示创建文件 如果文件已存在,更新文件的三个时间,`stat`可以查看文件的详细信息 |
tree命令 | tree -参数 路径 | -a : 所有文件包含显示隐藏文件 -f : 列出文件的完整路径内容 -d :只显示目录 -L : 设置显示最大深度,如:tree -f -L 2 |
创建大容量文件 | dd if=来源 of=新文件名 count=数据块个数 bs=块容量 | * if=/dev/zero zero空数据设备文件,可以向其它文件中填充无数个数据0 * of=新文件名,一般给出存储路径 * count=:新文件由几个数据块组成 * bs=:一个数据块容量 |
删除文件 | rm -参数 文件名 | * 删除文件: rm 文件名 * 删除目录:rm -r 目录名 * 强制删除不确认:rm -f 文件名 |
数据流和重定向
作用 | 格式 | 补充 |
重定向操作符 | * 输出重定向操作符:`>` `>>` * 输入重定向操作符:`<` `<<` |
命令 >文件 或 命令 1>文件 : 将命令执行后的结果不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件 命令 2>文件 : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件 命令 2>/dev/null : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备文件(黑洞)中,即将输出的错误信息丢弃掉 命令 &>文件 命令 >&文件 : 将命令执行后的正确输出信息和错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件 命令 >>文件 : 将命令执行后的正确输出信息以追加的方式写入到指定的文件中,不覆盖原文件内容,若指定的文件不存在,则自动创建该文件 命令 <文件 : 使命令从指定的文件中读取数据作为输入 命令 <<结束标识字符串 : 在命令行读取数据作为输入,直到遇到指定的结束标识字符串 |
将标准输出重定向到文件 | echo "字符串" echo "$量" |
将标准输出重定向到文件 [root@server ~]# echo "hello" > /root/test/file |
tee命令读取数据输出到文件
作用 | 格式 | 补充 |
* 读取标准输入的数据,并将其内容输出到文件的同时输出到屏幕(既想把输出保存到文件中,又想在屏幕上看到内容) * tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件。 | tee 参数 文件名 | * -a或--append,附加到现有文件的后面,而非覆盖它 * -i或--ignore-interrupts 忽略中断信号 * --help 在线帮助 |
* **管道符号**,是unix一个很强大的功能,符号为一条竖线:"**|**",用于两个命令或者多个命令相连接,将管道符左边命令的输出作为管道符右边命令的输入 | 命令A | 命令2 | 命令3 …… |
vi/vim文本编辑器
作用 | 格式 | 补充 |
编辑文件 | vim +文件 |
存在则直接进入编辑界面 不存在则会直接创建文件 |
文件内容显示
作用 | 格式 | 补充 |
查看文件内容,适合数据量较少 | cat -参数 文件名 | * -n:显示行号,加上 * -b:文件中所有非空行增加行号,编号从1开始 |
倒叙访问文件内容 | tac 参数 文件名 | |
翻页查看文件内容,适合内容较多的文件查看 | more 文件名 | 使用回车则一行一行查看,使用空格则整页查看,点击q键退出查看 |
less命令 | less 文件名 | 可以使用上下键进行浏览,点击q退出浏览 |
查看文档前n行的内容 | head -数字 文件名 | |
查看文档后n行内容 | tail -参数 文件名 | * -数字:查看倒数行数 * -f:动态刷新, 实时显示日志文件并且能动态更新 |
查看文件类型 | file -参数 文件名 | * ASCII file :ASCII文本字符文件 * empty:空文件 * block special :块设备文件 * character special :字符设备文件 * diretory:目录 |
显示文件属性信息 | stat 文件名 | 一般通过该命令查看大小、Inode、硬链接、软连接 |
在指定的普通文件中查找并显示含有指定字符串的行,也可与管道符一起使用 | grep -参数 查找条件 文件名 | -n 显示行号 |
cut命令用于按列提取文本内容 | cut -d "分隔符" -f列数字 文件名 | |
sort命令用于对文本内容进行排序显示 | sort -参数 文件名 |
-u 去除重复行 sort命令执行后默认会按照字母顺序进行排序 |
uniq命令用于去除文本中连续的重复行 | uniq -参数 文件名 | |
tr 指令从标准输入读取数据,经过替换或者删除后,将结果输出到标准输出 | tr -参数 替换内容 新内容 |
* -c :反选设定字符,符合 “替换内容” 的部份不做处理,不符合的剩余部份才进行转换 |
文件的其它操作命令
作用 | 格式 | 补充 |
wc命令用于统计指定文本文件的行数、字数或字节数 | wc -参数 文件名 | -l 只显示行数 |
复制文件或目录 | cp -参数 源文件 目标文件 | -a 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录 |
mv命令用于剪切或重命名文件 | mv [选项] 源文件名称 目标文件名称 | * 剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件 * 如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作 |
可以搜索系统命令的可执行文件路径和说明文档 | whereis 命令名 | |
搜索系统命令的可执行文件 | which 命令名 | |
按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 | find 查找路径 查找条件 具体条件 操作 | * find命令默认的操作是print输出 * find是检索文件的,grep是过滤文件中字符串 |
压缩和解压缩 | zip FILE # 压缩 unzip FILE # 解压缩 | |
gzip命令 |
# 例1: 使用gzip压缩文件 # 例2: 使用gzip压缩目录下文件 # 例3: 压缩但保留原始文件 | |
bzip2命令 |
# bzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。 [root@server test]# [root@server test]# bzip2 test3.txt # 源文档不保留 [root@server test]# bzip2 -9 -c test3.txt > test3.txt.bz2 # 用最佳的压缩比压缩,并保留原本的档案 | |
xz、unxz命令 |
# 例1:压缩文件 # 例2:压缩dir1目录下文件 # 例3:查看压缩文件内容 # 例4:解压缩(xz -d等价于unxz) | |
tar归档命令 | tar -参数 [args]…… | -f 用于指定打包文件名。<br/>当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名<br>当与-x选项一起使用时,则释放该选项指定的tar包文件 |
命令解释器-shell
作用 | 格式 | 补充 |
查看命令是内置命令、外置命名、alias命令 | type -参数 命令名 |
* `type -a `列出当前命令可以如何执行 |
别名:命令的快捷方式,对于需要经常执行,且要很长时间输入的长命令很有用。 | alias 别名='原命令 - 参数' | |
history命令可以查阅命令历史记录 | history -参数 | number:显示最近number条命令历史 -c:清空当前历史命令 |
账户和组管理
作用 | 格式 | 补充 |
查看账户的UID、GID等信息 | id 账户名 | |
添加新用户 | useradd -参数 账户名 |
-c 注释信息:设置相关的说明信息,如,:真实姓名、邮箱地址等 |
修改账户信息 | usermod -参数 账户名 | * 常用参数 -c,-d,-m,-g,-G,-s,-u 等,意义与useradd命令中的参数相同 * -l 新账户名:更改账户的名称,必须在该用户未登录的情况下才能使用 * -L:锁定(暂停)用户账户,使其不能登录使用 * -U:解锁用户账户 |
Linux的账户必须设置密码后,才能登录系统 | passwd - 参数 账户名 |
-d:清空指定用户的口令,与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以。 |
删除账号 | userdel 账户名 | -r:在删除该账户的同时,一并删除该账户对应的家目录 |
账户切换 | su 账户名 |
* 区别:加载的配置文件不一样 |
创建工作组 | groupadd -参数 工作组名 | * -g GID:指定新工作组的GID,默认值是已有的最大的GID加1 * -r: 建立一个系统组账号,与-g不同时使用时,则分配一个1~999的GID |
修改工作组 | groupmod -参数 工作组名 | * -g GID——为用户组指定新的组标识号 * -n 新用户组——将用户组的名字改为新名字修改用户组的名称和用户组的GID值 |
添加/删除组成员 | gpasswd -参数 账户 工作组 | -r : 删除组密码 -a : 把用户加入组 -d : 把用户从组中删除。 -M : 可同时添加多个用户 -A : 给组指派管理员。 |
删除工作组 | groupdel 工作组名 | 被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组 |
查看当前登录系统的用户 | [root@server ~]# users root | |
列出目前与过去登入系统的用户相关信息,该命令默认会去读取/var/log/wtmp文件,并把该文件记录的登入系统的用户名单全部显示出来 | last | |
查看每个账号的最近登录时间,该命令会读取/var/log/lastlog文件 | lastlog | |
显示登录到系统的用户信息 | w |
权限管理
作用 | 格式 | 补充 |
chmod(change mode):修改文件或目录的权限 |
# 格式1 # 格式2 |
* -R:递归修改指定目录下所有文件、子目录的权限 |
修改文件或目录的所有者和属组 | chown -参数 所有者:所属组 文件名或目录名 # 参数-R递归设置 | 总结:其他用户是否能够删除该文件,不是取决于该文件对其的权限设置,而是该文件的所属目录对该用户的权限设置 |
管理Linux的联网
作用 | 格式 | 补充 |
nmcli,可以实现创建,显示,编辑,删除,激活和停用网络连接以及控制和显示网络设备状态等 |
* 查看网卡信息 [root@server ~]# nmcli c show # 全写为:nmcli connection show * 激活和关闭网络连接 [root@server ~]# nmcli c up 网卡名 # 激活,也是重启网卡的一种方法 * 添加网络连接 # 例:添加网络连接ens161 * 设置静态IP [root@server ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses '192.168.48.134/24' ipv4.gateway '192.168.48.2' ipv4.dns '114.114.114.114' * 增加ip地址 [root@server ~]# nmcli c mod ens160 +ipv4.addresses 192.168.48.136/24 * 删除网络连接 # 删除上例的ens161 #### 修改配置文件 # 设置静态IP | |
* 用来检测网络的连通情况和分析网络速度 * 根据域名得到服务器 IP * 根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量 | ping -参数 目标主机IP或域名 |
* -c 数字:用于设定本命令发出的ICMP消息包的数量,若无此选项,则会无限次发送消息包直到用户按【Ctrl+C】组合键才终止命令。 |
用于在终端命令行里下载网络文件,英文全称为:“web get” | wget -参数 URL | -P 下载到指定目录 -t 最大尝试次数 -b 后台下载模式 -c 断点续传 -p 下载页面内所有资源,包括图片、视频等 -r 递归下载 |
磁盘管理
作用 | 格式 | 补充 |
查看磁盘信息 | lsblk 参数 设备名 | -d :仅列出硬盘本身信息,不显示分区信息 -f :列出磁盘的内的文件系统名称 -i : 使用ASCII码格式输出信息 -t :显示磁盘的详细信息 -p :显示设备完整名称 |
fdisk命令工具默认将磁盘划分为==MBR==格式的分区 | fdisk 设备名 | 注意:fdisk命令以交互方式进行操作的,在菜单中选择相应功能键即可 |
使用gdisk管理分区 | gdisk 设备名 | gdisk命令针对GPT分区格式,若在MBR分区格式下进行添加分区,则所有数据会全部丢失,切记:一块硬盘中fdisk与gdisk不能混用 |
查看文件系统格式 | 输入mkfs在键入tab(点击2次)进行命令补全,可显示支持的文件系统格式 | |
格式化命令 |
mkfs.xfs -参数 硬盘分区名 mkfs.ext4 -参数 硬盘分区名 | -f:强制格式化,已存在文件系统时需要使用 -c:建立文件系统前先检查坏块。 -V:输出建立文件系统的详细信息 |
显示设备的UUID值和文件系统名称 | blkid 设备名 | |
* mount point:挂载点,是一个目录,该目录是进入磁盘分区(文件系统)的入口 * 挂载:将一个分区或者设备挂载至挂载点目录,建立连接,通过挂载点目录进入分区空间 | mount [-t 文件系统类型] 设备名 挂载点目录 | -a:依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来 -t:指定文件系统类型 -o 特殊设备选项:挂载设备时使用逗号分割输入额外参数 |
卸载分区,要移除USB磁盘、U盘、光盘和硬盘时,需要先卸载 | umount 参数 设备名称[挂载点] | -f :强制卸载 |
* 列出文件系统的磁盘空间占用情况 | df -参数 目录或文件名 |
-a:列出所有的文件系统,包括系统特有的/proc等文件系统 |
* du:显示磁盘空间使用量(统计目录或文件所占磁盘空间大小),在默认情况下,文件大小的单位是KB。 | du -参数 文件或目录名 |
-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已; |
管理系统中的RAID磁盘阵列 | mdadm [模式] <RAID设备名> -参数 [成员设备名称] | -a :检测设备名称 -n :指定硬盘数量 -l :指定RAID级别 -C :创建RAID -v :显示过程 -f :模拟设备损坏 -r :移除设备 -Q : 查看摘要 -D :查看详细信息 -S :停止RAID磁盘阵列 |