描述linux目录结构以及目录结构命名规定
[root@centos7 ~]$ tree -L 1 /
/
├── bin -> usr/bin #存放可执行二进制文件
├── boot #系统启动时引导程序存放的目录
├── data
├── dev #设备目录,其下分为字符设备,块设备,特殊设备等等
├── etc #一般用于存放系统的配置文件
├── home #系统默认的用户家目录
├── lib -> usr/lib #库
├── lib64 -> usr/lib64 #库
├── media
├── mnt #一般用于挂载
├── opt #安装软件时常在此目录下
├── proc #存放有关进程和硬件的信息,一般都是在内存中
├── root #root用户的家目录
├── run #系统运行时自动生成的临时文件
├── sbin -> usr/sbin #超级账户使用的命令的目录
├── srv
├── sys
├── tmp #一般存放临时文件
├── usr #应用程序存放目录
└── var #存放日志或缓存文件等
20 directories, 0 files
- /bin:所有用户可用的基本命令程序文件
- /sbin:超级账户使用的工具命令
- /boot:系统启动时的引导程存放位置
- /dev:存储特殊文件或设备文件
- /etc:系统配置文件存放位置
- /home:普通用户家目录
- /root:root用户的家目录
- /lib64:64位系统特有的存放64位共享库的路径
- /media:便携式设备挂载点,cdrom,floppy等
- /mnt:其他文件系统的临时挂载点
- /opt:附加应用程序的安装位置;可选安装路径
- /srv:当前主机为服务提供的数据
- /tmp:存放临时文件的目录
- /usr:全局共享的只读数据路径
- include:C程序头文件
- share:命令手册页和自带文档等架构特有的文件的存储位置
- local:另一个层级目录
- src:存放程序源码文件
- /lib:库文件,为系统启动或根文件系统上的应用(/bin,/sbin)程序提供共享库,以及为内核提供内核模块
- libc.so.*:动态链接的C库
- ld*:运行时链接器/加载器
- modules:用于存储内核模块
显示/etc目录下,所有以.d结尾的文件或目录
[root@localhost yum.repos.d]$ ll /etc/ | grep "\.d"$
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 bash_completion.d
drwxr-xr-x. 2 root root 4096 May 11 2016 chkconfig.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 cron.d
drwxr-xr-x. 2 root root 4096 Mar 23 00:57 depmod.d
drwxr-xr-x. 2 root root 4096 May 11 2016 dnsmasq.d
drwxr-xr-x. 2 root root 4096 May 12 2016 dracut.conf.d
lrwxrwxrwx. 1 root root 11 Mar 23 00:56 init.d -> rc.d/init.d
drwxr-xr-x. 3 root root 4096 Mar 23 01:01 latrace.d
drwxr-xr-x. 2 root root 4096 Mar 28 01:31 ld.so.conf.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 logrotate.d
drwxr-xr-x. 2 root root 4096 Mar 23 00:59 lsb-release.d
drwxr-xr-x. 2 root root 4096 Mar 23 00:57 makedev.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 modprobe.d
drwxr-xr-x. 2 root root 4096 Mar 23 00:59 oddjobd.conf.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:02 pam.d
drwxr-xr-x. 2 root root 4096 Aug 21 2010 popt.d
drwxr-xr-x. 2 root root 4096 Aug 19 2013 prelink.conf.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 profile.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc0.d -> rc.d/rc0.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc1.d -> rc.d/rc1.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc2.d -> rc.d/rc2.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc3.d -> rc.d/rc3.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc4.d -> rc.d/rc4.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc5.d -> rc.d/rc5.d
lrwxrwxrwx. 1 root root 10 Mar 23 00:58 rc6.d -> rc.d/rc6.d
drwxr-xr-x. 10 root root 4096 Mar 23 00:58 rc.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 request-key.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 rsyslog.d
drwxr-xr-x. 2 root root 4096 Mar 23 00:58 rwtab.d
drwxr-xr-x. 3 root root 4096 Mar 23 00:59 sane.d
drwxr-xr-x. 2 root root 4096 Mar 23 00:59 setuptool.d
drwxr-xr-x. 2 root root 4096 Mar 23 2017 statetab.d
drwxr-x---. 2 root root 4096 Mar 22 2017 sudoers.d
drwxr-xr-x. 2 root root 4096 Mar 23 2017 sysctl.d
drwxr-xr-x. 2 root root 4096 Mar 23 01:00 xinetd.d
drwxr-xr-x. 3 root root 4096 Mar 28 17:47 yum.repos.d
显示/etc/目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录
[root@localhost etc]$ ls /etc | awk '{print}'| grep -e ^[mnrp].*\.conf$
mke2fs.conf
mtools.conf
nfsmount.conf
nsswitch.conf
ntp.conf
pbm2ppa.conf
pm-utils-hd-apm-restore.conf
pnm2ppa.conf
prelink.conf
readahead.conf
request-key.conf
resolv.conf
rsyslog.conf
创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限
[root@localhost etc]$ mkdir -p /app/rootdir
[root@localhost rootdir]$ cp -Rav /root/* /app/rootdir/
`/root/anaconda-ks.cfg' -> `/app/rootdir/anaconda-ks.cfg'
`/root/Desktop' -> `/app/rootdir/Desktop'
`/root/Documents' -> `/app/rootdir/Documents'
`/root/Downloads' -> `/app/rootdir/Downloads'
`/root/install.log' -> `/app/rootdir/install.log'
`/root/install.log.syslog' -> `/app/rootdir/install.log.syslog'
`/root/Music' -> `/app/rootdir/Music'
`/root/Pictures' -> `/app/rootdir/Pictures'
`/root/Public' -> `/app/rootdir/Public'
`/root/Templates' -> `/app/rootdir/Templates'
`/root/Videos' -> `/app/rootdir/Videos'
使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
[root@centos7 tmp]$ mkdir -pv /tmp/{a1/{a,b},a2}
mkdir: created directory ‘/tmp/a1’
mkdir: created directory ‘/tmp/a1/a’
mkdir: created directory ‘/tmp/a1/b’
mkdir: created directory ‘/tmp/a2’
[root@centos7 tmp]$ mkdir -p {x,q}_{y,z}
[root@centos7 tmp]$ tree ./
./
├── a1
│ ├── a
│ └── b
├── a2
├── q_y
├── q_z
├── x_y
└── x_z
8 directories, 0 files
用户、用户组管理命令以及常见用法
useradd:创建用户
useradd [options] LOGIN
-c, --comment COMMENT 添加用户信息
-d, --home-dir HOME_DIR 指定用户家目录
-g, --gid GROUP 指定新加用户的GID
-G, --groups GROUPS 指定新加用户的属组
-s, --shell SHELL 指定新加用户所使用的shell
-u, --uid UID 指定用户UID
-r, --system 指定新加的用户为系统用户
-p, --password PASSWORD 添加密码
[root@centos7 ~]$ useradd -d /data/test test -u 888 -r -p passwd -g 0 -G root
[root@centos7 ~]$ id test
uid=888(test) gid=0(root) groups=0(root)
[root@centos7 ~]$ getent passwd test
test:x:888:0::/data/test:/bin/bash
userdel:删除用户
userdel [options] LOGIN
-r, --remove 删除用户的同时删除用户家目录
usermod:修改用户属性
usermod [options] LOGIN
-c, --comment COMMENT 修改用户描述信息
-d, --home HOME_DIR 修改用户家目录
-g, --gid GROUP 修改gid
-s, --shell SHELL 修改用户shell
-u, --uid UID 更改用户uid
[root@centos7 ~]$ usermod -u 666 -g 1 -s /sbin/nologin test -d /home/test
[root@centos7 ~]$ getent passwd test
test:x:666:1::/home/test:/sbin/nologin
passwd:修改用户密码
passwd [OPTION...] <accountName>
-d, --delete 删除用户密码(仅root可用)
-l, --lock 通过锁定密码的方式锁定用户(仅root可用)
-u, --unlock 解锁用户(仅root可用)
-x, --maximum=DAYS 指定密码可用最长天数
-n, --minimum=DAYS 指定密码可用最短天数
groupadd:添加组
groupadd [options] GROUP
-g, --gid GID 指定gid
-r, --system 指定添加的组为系统组
su:切换用户(不改变环境变量)
su [options] [-] [USER [arg]...]
-, -l, --login 切换用户同时切换用户环境变量
-c, --command 以指定用户身份执行command
文件权限,属主属组管理命令用法
chown [OPTION]... [OWNER][:[GROUP]] FILE...
修改用户属主和属组
-R, --recursive 递归
chmod [OPTION]... MODE[,MODE]... FILE..
修改文件权限
chattr [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...
文件特殊权限
+a 只能给文件添加内容,但是删除不了
-d 文件不可删除
+i 文件不可删除、不可移动、不可更改
-i 解除文件锁定
创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为 “Gentoo Distribution”
[root@centos7 ~]$ useradd gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"
[root@centos7 ~]$ id gentoo
uid=1001(gentoo) gid=1001(gentoo) groups=1001(gentoo),0(root),1(bin)
[root@centos7 ~]$ getent passwd gentoo
gentoo:x:1001:1001:Gentoo Distribution:/home/gentoo:/bin/csh