linux基础2
1、linux发行版的系统目录名称命令规则以及用途
在linux操作系统中,一切皆被抽象为文件,普通文件和目录文件都组织成一个倒置的目录树结构,以根为统一入口,常见的目录以及作用如下
/boot 启动目录,存放了启动相关的引导程序和内核
/bin 存放了常用的命令,所有用户都可以使用
/sbin 存放了系统管理类的命令,只有系统管理员可以使用
/etc 配置目录,里面存放了各个程序的配置文件
/lib /lib64 存放了一些库文件,包括静态库和动态共享库,供各个程序调用,
/home 普通用户的家目录在该目录下
/root root用户的家目录
/mnt 挂载常用的目录
/dev 常用的设备文件所在的目录
/opt 第三方应用程序的安装目录
/var 用来放一些经常变化的数据,例如日志文件
/tmp 用来存放进程运行中的一些临时文件
/proc 存放内核和进程有关的信息
2、文件的元数据简介
每一个文件都由两部分组成,一个是数据的本身,一个是用来描述定义数据的数据,也就是元数据。
文件的元数据有:
属主属组信息
文件大小
文件创建时间、修改时间、查看时间
硬链接数
权限信息
ll 和 stat 命令可以查看文件的详细属性信息
[root@centos6 data]# ll /data/fstab
-rw-r--r--. 1 root root 899 Dec 12 2019 /data/fstab
[root@centos6 data]# stat /data/fstab
File: `/data/fstab'
Size: 899 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-12-12 12:00:00.000000000 +0800
Modify: 2019-12-12 12:00:00.000000000 +0800
Change: 2019-12-07 22:53:57.874502055 +0800
touch命令可以修改文件的时间戳信息
[root@centos6 data]# touch -t 201912121200 fstab
[root@centos6 data]# stat fstab
File: `fstab'
Size: 899 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 12 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-12-12 12:00:00.000000000 +0800
Modify: 2019-12-12 12:00:00.000000000 +0800
Change: 2019-12-07 22:53:57.874502055 +0800
3、文件的软、硬链接
软链接类比于windows系统的快捷方式,可以针对目录做,可以跨分区,本质上是在软链接的数据块里存放了源文件的路径名。
硬链接是给一个文件起了多个文件名,不可以对目录做,不可以跨分区,本质上是将不同的文件名映射到相同的inode号。
示例:
[root@centos6 data]# ln -s fstab fstab.soft
[root@centos6 data]# ln fstab fstab.hard
[root@centos6 data]# ll
total 8
-rw-r--r--. 2 root root 899 Dec 12 2019 fstab
-rw-r--r--. 2 root root 899 Dec 12 2019 fstab.hard
lrwxrwxrwx. 1 root root 5 Dec 7 22:58 fstab.soft -> fstab
软链接更加常用,比较典型的是/etc/rc.d/rc[0-6].d/下的文件都是/etc/init.d下的软链接
lrwxrwxrwx. 1 root root 18 Nov 2 20:50 K99cpuspeed -> ../init.d/cpuspeed
lrwxrwxrwx. 1 root root 22 Nov 2 20:49 K99lvm2-monitor -> ../init.d/lvm2-monitor
lrwxrwxrwx. 1 root root 14 Nov 2 20:50 K99rngd -> ../init.d/rngd
lrwxrwxrwx. 1 root root 17 Nov 2 20:49 K99sysstat -> ../init.d/sysstat
lrwxrwxrwx. 1 root root 17 Nov 2 20:46 S00killall -> ../init.d/killall
lrwxrwxrwx. 1 root root 14 Nov 2 20:46 S01halt -> ../init.d/halt
[root@centos6 rc.d]# ll rc0.d/
4、linux常用的文件管理类命令
真的linux的文件管理命令常用的有
mv 移动
mv 常用的选项用:-i 询问 -b 若目标存在,先备份后覆盖 -f 强制移动
[root@centos6 data]# mv -i /tmp/fstab .
mv: overwrite `./fstab'? y
[root@centos6 data]# mv -b /tmp/fstab .
mv: overwrite `./fstab'? y
[root@centos6 data]# ll
total 16
-rw-r--r--. 1 root root 899 Dec 7 23:24 fstab
-rw-r--r--. 1 root root 899 Dec 7 23:24 fstab~
-rw-r--r--. 1 root root 899 Dec 7 23:20 fstab.bak
-rw-r--r--. 1 root root 899 Dec 7 23:20 fstab.samebak
cp 拷贝
cp -r 递归,操作目录 -f 强制 -a 保留文件一切属性,备份常用
-p
[root@centos6 data]# cp fstab fstab.bak
[root@centos6 data]# cp fstab fstab.samebak
[root@centos6 data]# ll
total 12
-rw-r--r--. 1 root root 899 Dec 12 2019 fstab
-rw-r--r--. 1 root root 899 Dec 7 23:19 fstab.bak
-rw-r--r--. 1 root root 899 Dec 12 2019 fstab.same
rm 删除
rm -f 强制 -r 递归操作目录
[root@centos6 data]# rm -i fstab.hard
rm: remove regular file `fstab.hard'? y
[root@centos6 data]# rm -f fstab.soft
[root@centos6 data]#
5、sed 操作/etc/profile文件
[root@centos6 tmp]# cat profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
[root@centos6 tmp]# sed -rn 's/^[[:space:]]+(.*$)/\1/p' profile
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
6、配置vim
在用户家目录下创建一个.vimrc文件,添加set ts=4;并source .vimrc即可
[root@centos6 ~]# cat .vimrc
set ts=4
[root@centos6 ~]#