Linux_系统篇_Linux命令2_基础
  EUS3JtNz4oCg 2023年11月13日 20 0

Linux命令-文件层级


FHS     //文件层级系统
/ //可以单独分区,LVM分区
/boot //系统启动相关的文件,如内核(vmlinuz)、initrd(initramfs),\
//以及grub(bootloader)。建议单独分区,基本分区
/dev //设备文件。不能单独分区
设备文件 //关联至一个设备驱动程序,进而能够与之对应硬件设备进行通信
块设备 //随机访问,数据块(比如硬盘)
字符设备 //也叫线性设备,线性访问,按字符为单位(比如鼠标、显示器)
设备号 //主设备号(major)和次设备号(minor)
主设备号标识设备类型
次设备号标识同一类型下的不同设备
设备文件只有元数据,没有数据
/etc //配置文件
/home //普通用户的家目录,每一个用户的家目录通常默认为/home/USERNAME。 \
//建议单独分区
/root //管理员的家目录。不该单独分区
/lib //库文件
静态库 //.a
动态库 //.dll,.so(shared object)
/lib/modules //内核模块文件
/media //挂载点目录,通常用来挂载移动设备
/mnt //挂载点目录,通常用来挂载额外的临时文件系统,比如另一块硬盘
/opt //可选目录,早期通常用来安装第三方程序
/proc //伪文件系统,内核映射文件(伪文件系统实际上里面是没有任何内容的, \
//开机之后才映射上去的)。不能单独分区
/sys //伪文件系统,跟硬件设备相关的属性映射文件(伪文件系统实际上里面是没有 \
//任何内容的,开机之后才映射上去的)。不能单独分区
/tmp //临时文件,/var/tmp
/var //可变化的文件,比如log、cache。存放日志信息、pid文件、lock文件,\
//建议单独分区
/bin //可执行文件,用户命令
/sbin //管理命令
/usr //shared,read-only,全局共享只读文件。提供操作系统核心功能,可以单独分区
/usr/bin
/usr/sbin
/usr/lib
/usr/local //第三方软件安装路径
/usr/local/bin
/usr/local/sbin
/usr/local/lib
/usr/local/etc
/usr/local/man

/etc,/bin,/sbin,/lib内是系统启动就需要用到的程序,这些目录不能挂载额外的分区,\
必须在根文件系统的分区上

/usr/bin,/usr/sbin,/usr/lib提供操作系统核心功能,/usr可以单独分区

/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc, \
/usr/local/man等等在/usr/local目录下的内容都是第三方软件,建议单独分区

//系统设定:
默认输入设备 //标准输入,STDIN,0 (键盘)
默认输出设备 //标准输出,STDOUT,1 (显示器)
标准错误输出 //STDERR,2 (显示器)

Linux命令-重定向,管道符


//I/O重定向:
>:覆盖输出
>>:追加输出

2> //重定向错误输出
2>> //追加重定向错误输出
&> //覆盖重定向标准输出或错误输出至同一个文件
&>> //追加重定向标准输出或错误输出至同一个文件
< //输入重定向
<< //Here Document


管道 //前一个命令的输出,作为后一个命令的输入。最后一个命令会在当前shell进程 \
//的子shell进程中执行
命令1 | 命令2 | 命令3 | ...

tee //从标准输入读取数据,输出一份到屏幕上,一份保存到文件

[root@localhost ~]# echo "hello world" | tee /tmp/hello.out
hello world
[root@localhost ~]# cat /tmp/hello.out
hello world
```text
//bash特性之截取变量的字符串
FILE=/usr/local/src
echo ${FILE#*/} 结果为 usr/local/src
echo ${FILE##*/} 结果为 src
echo ${FILE%/*} 结果为 /usr/local

Linux命令-字符


//字符串切片
${var:offset:number}

//取字符串的最右侧几个字符(自右向左取)
${var: -lengh}
//注意:冒号后必须有一空白字符

//查找替换
${var/pattern/substi} //查找var所表示的字符串中,第一次被pattern所匹配到字符串,以substi替换之
${var//pattern/substi} //查找var所表示的字符串中,所有能被pattern所匹配到字符串,以substi替换之
${var/#pattern/substi} //查找var所表示的字符串中,行首被pattern所匹配到字符串,以substi替换之
${var/%pattern/substi} //查找var所表示的字符串中,行尾被pattern所匹配到字符串,以substi替换之

//查找并删除
${var/pattern} //查找var所表示的字符串中,第一次被pattern所匹配到字符串,删除之
${var//pattern} //查找var所表示的字符串中,所有被pattern所匹配到字符串,删除之
${var/#pattern} //查找var所表示的字符串中,行首被pattern所匹配到字符串,删除之
${var/%pattern} //查找var所表示的字符串中,行尾被pattern所匹配到字符串,删除之

//字符大小写转换
${var^^} //所有小写转换成大写
${var,,} //所有大写转换成小写
//注意:这里使用的是两个逗号“,,”


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  JDh7sMsPQI0Y   2023年11月13日   22   0   0 jsonSystem字符串
EUS3JtNz4oCg