作用
建立硬连接 ln -参数 源文件 目标连接文件硬连接建立后,删除其中的一个后数据依然可以访问,只有硬连接为0时,数据旧无法访问了
硬连接不能给目录建立
目录自带2个硬连接,即目录中的 . .. ,表示当前目录和上一级目录
不可以在不同的文件系统内建立硬连接,由于inode是当前文件在本文件系统的索引值即只能在本分区使用,应以硬连接不能跨越文件系统
软连接 ln -s 源文件 目标连接名软连接只是一种指向关系,删除源文件则数据不可访问
* 可以通过ll命令查看软连接实际执行文件及位置
* 更改软连接方法:ln -snf 新文件名 软连接名
* 删除软连接,只是删除指向关系,源数据依然可以访问
软硬连接的区别
硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
* 软连接的指向关系可以查看,硬连接不可以查看
* 连接数不同,软连接数不会增加
* 文件大小不同,硬连接文件大小与源文件一样
* 软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
* -v 显示创建目录的详细过程 du [参数] [目录名]
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
-s 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。
-h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。
touch 文件名1 文件名2 文件名3
touch {文件名1,文件名2,文件名3}
如果文件不存在,则表示创建文件
如果文件已存在,更新文件的三个时间,`stat`可以查看文件的详细信息
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 "$量"
将标准输出重定向到文件
* tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件。 tee 参数 文件名 * -a或--append,附加到现有文件的后面,而非覆盖它
* -i或--ignore-interrupts 忽略中断信号
* --help 在线帮助
* 管道符号,是unix一个很强大的功能,符号为一条竖线:"|",用于两个命令或者多个命令相连接,将管道符左边命令的输出作为管道符右边命令的输入
格式
命令A | 命令2 | 命令3 …… 结论:方法1所耗时最少,效率最高,方法2中结合了管道符的使用,耗时最多,效率最低,由于linux中的shell是由C语言开发的,因此它底层命令效率是最高的,而方法1中用的是linux内置命令,内置的操作;方法2通过管道符,这涉及到类似二次加工,效率肯定也就低了存在则直接进入编辑界面
不存在则会直接创建文件
* -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 :反选设定字符,符合 “替换内容” 的部份不做处理,不符合的剩余部份才进行转换
* -d :删除指令字符
* -s :缩减连续重复的字符成指定的单个字符
示例
* 如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。 可以搜索系统命令的可执行文件路径和说明文档 whereis 命令名 搜索系统命令的可执行文件 which 命令名 按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 find 查找路径 查找条件 具体条件 操作 * find命令默认的操作是print输出
* find是检索文件的,grep是过滤文件中字符串 zip FILE # 压缩
unzip FILE # 解压缩 gzip命令
# 例2: 使用gzip压缩目录下文件
[root@server test]# gzip -r dir1
[root@server test]# ls dir1
#注意: 以上压缩之后原始文件就没有了。
# 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命令# 例2:压缩dir1目录下文件
[root@server test]# xz dir1/*
[root@server test]# ls dir1
# 例3:查看压缩文件内容
[root@server test]# xzcat test5.txt.xz
test1
例
别名:命令的快捷方式,对于需要经常执行,且要很长时间输入的长命令很有用。 alias 别名='原命令 - 参数' history命令可以查阅命令历史记录 history -参数 number:显示最近number条命令历史-c:清空当前历史命令
-d:目录:设定账户的家目录(默认为/home/用户名)。
-e YYYY-MM-DD:设置用户的失效日期,此日期后将不能使用该账号。
-f 天数:指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定 为-1,则表示账号过期后不被禁用(即密码永不过期)。
-g 组名或GID号:为账户指定所属的基本组,该组在指定时必须已存在。
-G:组名或GID号列表:为账户指定所属的扩展组,各组在指定时已存在,附加组可以有多个,组之间用“,”分隔。
-M:不创建账户家目录。
-N:不创建与账户名同名的基本组。
-p:密码:指定账户的登录密码。
-s shell名:指定账户登录后使用的Shell,默认是bash。
-u 用户号:设置账号的UID,默认是已有账户的最大UID加1。如果同时有-o选项,则可以重复使用其他用户的标识号。 usermod -参数 账户名 * 常用参数 -c,-d,-m,-g,-G,-s,-u 等,意义与useradd命令中的参数相同
* -l 新账户名:更改账户的名称,必须在该用户未登录的情况下才能使用
* -L:锁定(暂停)用户账户,使其不能登录使用
* -U:解锁用户账户 passwd - 参数 账户名 -d:清空指定用户的口令,与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以。
-e:使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。
-i:口令过期后多少天停用账户。
-l:锁定(停用)用户账户。
-n:指定口令的最短存活期。
-x:指定密码的最长使用期限。
-u:解锁用户账户。 userdel 账户名 -r:在删除该账户的同时,一并删除该账户对应的家目录 su 账户名 * 区别:加载的配置文件不一样
* `su`切换方式加载的文件:`~/.bashrc,/etc/bashrc`
* `su -`切换方式加载的文件:`/etc/bashrc,/etc/profile,~/.bashrc,~/.bash_profile`
* 注意:su - 相当于重新建立环境,若全局变量需要继续使用则不能使用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 last lastlog w
* ugoa:表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目录的属主(所有者);g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(即u+g+o)
* +或-或=:表示设置权限的操作动作,+代表添加;-代表取消;=表示只赋予给定的权限,并取消原有的权限。
* rwx:用字符形式表示的所设置的权限,可以是其中一个字母或组合
* nnn:用数字表示的权限 修改文件或目录的所有者和属组 chown -参数 所有者:所属组 文件名或目录名
# 参数-R递归设置 总结:其他用户是否能够删除该文件,不是取决于该文件对其的权限设置,而是该文件的所属目录对该用户的权限设置。
* 查看网卡信息
[root@server ~]# nmcli c show # 全写为:nmcli connection show
[root@server ~]# nmcli con show ens160 # 查看指定网卡的详细信息,q键退出
[root@server ~]# nmcli dev status # 查看已有设备的连接状态
[root@server ~]# nmcli dev show # 看所有网络设备详情,q键退出
* 激活和关闭网络连接
* 添加网络连接
# 例:添加网络连接ens161
[root@server ~]# nmcli c add type ethernet ifname ens160 con-name ens161 autoconnect yes ip4 192.168.48.135/24 gw4 192.168.48.2
连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c) 已成功添加。
[root@server ~]# nmcli c up ens161 # 不能在xshell操作,否则ssh连接断掉
[root@server ~]# nmcli c show
[root@server ~]# nmcli c up ens160
* 设置静态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'
[root@server ~]# nmcli c up ens160
[root@server ~]# ip a
# ipv4.method manual:手动获取
* 增加ip地址
[root@server ~]# nmcli c mod ens160 +ipv4.addresses 192.168.48.136/24
[root@server ~]# nmcli c up ens160
[root@server ~]# ip a
* 删除网络连接
# 删除上例的ens161
[root@server ~]# nmcli c show
NAME UUID TYPE DEVICE
ens160 0f83fcfd-bc6d-3866-b82b-fc4b09df2068 ethernet ens160
ens161 37bc8e79-92ea-4c01-a4af-1dfd7c ethernet --
[root@server ~]# nmcli c del ens161
成功删除连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c)。
[root@server ~]# nmcli c show
NAME UUID TYPE DEVICE
ens160 0f83fcfd-bc6d-3866-b82b-fc4b09df2068 ethernet ens160
修改配置文件
# 设置静态IP
[root@server ~]# cd /etc/NetworkManager/system-connections
[root@server system-connections]# ls
ens160.nmconnection
[root@server system-connections]# vim ens160.nmconnection
[connection]
id=ens160
uuid=d97d603d-5bb5-3d11-bfeb-11fbc8cb867d
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=
[ethernet]
[ipv4]
address1=192.168.48.134/24,192.168.48.2
dns=114.114.114.114;
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
[root@server ~]# nmcli c reload
[root@server ~]# nmcli c up ens160
# 会话和网卡的关系:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话
* 根据 域名得到服务器 IP
* 根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。 ping -参数 目标主机IP或域名 * -c 数字:用于设定本命令发出的ICMP消息包的数量,若无此选项,则会无限次发送消息包直到用户按【Ctrl+C】组合键才终止命令。
* -s 字节数:设置ping命令发出的消息包的大小,默认发送的测试数据大小为56字节;自动添加8字节的ICMP协议头后,显示的是64字节;再添加20字节的IP协议头,则显示的为84字节。最大设置值为65507B
* -i 时间间隔:设定前后两次发送ICMP消息包之间的时间间隔,无此选项时,默认时间间隔为1秒。为了保障本机和目标主机的安全,一般不要小于0.2秒
* -t:设置存活时间TTL(Time To Live) 用于在终端命令行里下载网络文件,英文全称为:“web get” wget -参数 URL -P 下载到指定目录
-t 最大尝试次数
-b 后台下载模式
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
-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,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且 计算大小的时候,把这一部分的空间也加上了,更精确了 df -参数 目录或文件名 -a:列出所有的文件系统,包括系统特有的/proc等文件系统
-k:以KB的容量显示各文件系统
-m:以MB的容量显示各文件系统
-h:以人们较易阅读的GB,MB,KB等格式自行显示
-H:以M=1000K替代M=1024K的进位方式
-T:连同该分区的文件系统名称(例如ext3)也列出
-i:不用硬盘容量,而以inode的数量来显示 * du:显示磁盘空间使用量(统计目录或文件所占磁盘空间大小),在默认情况下,文件大小的单位是KB。
* du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和,当文件系统也确定删除了该文件后,这时候du与df就一致了 du -参数 文件或目录名 -a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
-h : 以人们较易读的容量格式(G/M)显示;
-s : 列出总量,而不列出每个个别的目录占用了容量;
-S : 不包括子目录下的总计,与-s有点差别;
-k : 以KB列出容量显示;
-m : 以MB列出容量显示。 管理系统中的RAID磁盘阵列 mdadm [模式] <RAID设备名> -参数 [成员设备名称] -a :检测设备名称
-n :指定硬盘数量
-l :指定RAID级别
-C :创建RAID
-v :显示过程
-f :模拟设备损坏
-r :移除设备
-Q : 查看摘要
-D :查看详细信息
-S :停止RAID磁盘阵列
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/50546.html