Linux文件管理、标准I/O重定向和管道以及Linux用户、组和权限知识总结
一、文件管理
1.1、Linux下的文件类型
● - 普通文件
● d 目录文件directory
● b 块设备blocks
● c字符设备character
● |符号链接文件link
●p管道文件pipe
●s套接字文件socket
范例:
1 [root@centos7 ~]#ls -l /run/ 2 total 60 3 drwxr-xr-x. 2 root root 100 Mar 29 09:32 abrt 4 -rw-------. 1 root root 11 Mar 29 09:32 alsactl.pid 5 -rw-r--r--. 1 root root 5 Mar 29 09:32 atd.pid 6 -rw-r--r--. 1 root root 4 Mar 29 09:32 auditd.pid 7 prw-------. 1 root root 0 Mar 29 09:32 autofs.fifo-misc 8 prw-------. 1 root root 0 Mar 29 09:32 autofs.fifo-net 9 drwxr-xr-x. 2 avahi avahi 80 Mar 29 09:32 avahi-daemon 10 drwxr-xr-x. 2 root root 40 Mar 29 09:32 console 11 -rw-r--r--. 1 root root 5 Mar 29 09:32 crond.pid 12 ----------. 1 root root 0 Mar 29 09:32 cron.reboot 13 drwx------. 2 root root 40 Mar 29 09:32 cryptsetup 14 drwxr-xr-x. 3 root lp 80 Mar 29 09:32 cups 15 drwxr-xr-x. 2 root root 60 Mar 29 09:32 dbus 16 -rw-r--r--. 1 root root 5 Mar 29 19:18 dhclient-ens33.pid 17 prw-------. 1 root root 0 Mar 29 09:32 dmeventd-client 18 prw-------. 1 root root 0 Mar 29 09:32 dmeventd-server 19 -rw-------. 1 root root 0 Mar 29 09:32 ebtables.lock 20 drwxr-xr-x. 2 root root 40 Mar 29 09:32 faillock 21 drwxr-x---. 2 root root 40 Mar 29 14:20 firewalld 22 -rw-------. 1 root root 4 Mar 29 09:32 gssproxy.pid 23 srw-rw-rw-. 1 root root 0 Mar 29 09:32 gssproxy.sock 24 drwxr-xr-x. 4 root root 100 Mar 29 09:32 initramfs 25 -rw-r--r--. 1 root root 4 Mar 29 09:32 ksmtune.pid 26 drwxr-xr-x. 7 root root 240 Mar 29 09:32 libvirt 27 -rw-r--r--. 1 root root 4 Mar 29 09:32 libvirtd.pid 28 drwxr-xr-x. 8 root root 220 Mar 29 10:12 lock 29 drwxr-xr-x. 3 root root 60 Mar 29 09:32 log 30 drwxrwxr-x. 3 root libstoragemgmt 60 Mar 29 09:32 lsm 31 drwx------. 2 root root 80 Mar 29 09:32 lvm 32 -rw-r--r--. 1 root root 4 Mar 29 09:32 lvmetad.pid 33 srwxr-xr-x. 1 root root 0 Mar 29 09:32 mcelog-client 34 -rw-r--r--. 1 root root 3 Mar 29 09:32 mcelog.pid 35 drwx--x---. 2 root root 40 Mar 29 09:32 mdadm 36 drwxr-xr-x. 2 root root 40 Mar 29 09:32 mount 37 drwxrwxr-x. 2 root root 40 Mar 29 09:32 netreport 38 drwxr-xr-x. 4 root root 140 Mar 29 14:20 NetworkManager 39 drwxr-xr-x. 2 root root 40 Mar 29 09:32 plymouth 40 drwxr-xr-x. 2 root root 40 Mar 29 09:32 ppp 41 drwxr-xr-x. 2 radvd radvd 40 Mar 29 09:32 radvd 42 drwx------. 2 rpc rpc 40 Mar 29 09:32 rpcbind 43 -r--r--r--. 1 root root 0 Mar 29 09:32 rpcbind.lock 44 srw-rw-rw-. 1 root root 0 Mar 29 09:32 rpcbind.sock 45 -rw-r--r--. 1 rpcuser rpcuser 5 Mar 29 09:32 rpc.statd.pid 46 drwxr-xr-x. 2 root root 40 Mar 29 09:32 samba 47 drwxrwxr-x. 2 root screen 40 Mar 29 09:32 screen 48 drwxr-xr-x. 2 root root 40 Mar 29 09:32 sepermit 49 drwxr-xr-x. 2 root root 40 Mar 29 09:32 setrans 50 drwx--x--x. 2 setroubleshoot setroubleshoot 40 Mar 29 09:32 setroubleshoot 51 -rw-------. 1 root root 5 Mar 29 09:32 sm-notify.pid 52 drwxr-xr-x. 2 root root 40 Mar 29 09:32 spice-vdagentd 53 -rw-r--r--. 1 root root 5 Mar 29 09:32 sshd.pid 54 drwx--x--x. 3 root root 60 Mar 29 09:32 sudo 55 drwxr-xr-x. 2 root root 60 Mar 29 09:32 sysconfig 56 -rw-------. 1 root root 4 Mar 29 09:32 syslogd.pid 57 drwxr-xr-x. 18 root root 440 Mar 29 09:32 systemd 58 drwxr-xr-x. 2 root root 60 Mar 29 09:32 tmpfiles.d 59 drwxr-xr-x. 2 root root 60 Mar 29 09:32 tuned 60 drwxr-xr-x. 7 root root 160 Mar 29 09:35 udev 61 drwxr-xr-x. 3 root root 60 Mar 29 09:34 user 62 -rw-rw-r--. 1 root utmp 1920 Mar 29 16:31 utmp 63 drwxr-xr-x. 2 root root 60 Mar 29 09:32 vmware 64 -rw-------. 1 root root 0 Mar 29 09:32 xtables.lock
1.2、文件操作命令
1.2.1显示当前工作目录
Linux pwd命令用于显示工作目录。
执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
● -p显示真实物理路径
● -l 显示链接路径
范例:
1 [root@centos7 ~]#pwd 2 /root 3 [root@centos7 ~]#cd /data 4 [root@centos7 data]#pwd 5 /data 6 [root@centos7 data]#
1.2.2、切换目录
Linux cd命令用于切换当前工作目录至 dirName(目录参数)。
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
另外,”~” 也表示为 home 目录 的意思,”.” 则是表示目前所在的目录,”..” 则表示目前目录位置的上一层目录。
●切换至父目录:cd ..
●切换至当前用户主目录:cd
●切换至以前的工作目录:cd -
范例:
1 [root@centos7 data]#cd /etc/sysconfig/ 2 [root@centos7 sysconfig]#cd .. 3 [root@centos7 etc]#cd 4 [root@centos7 ~]#cd - 5 /etc 6 [root@centos7 etc]#
1.2.3、列出目录内容
ls命令可以列出当前目录的内容或指定目录
● -a 包含隐藏文件
● -l 显示额外的信息
● -R 目录递归
● -ld 目录和符号链接信息
● -1 文件分行显示
● -S 按从大到小排序
● -t 按mtime排序
● -u 配合-t选项,显示并按atime从新到j旧排序
● -U 按目录存放顺序显示
● - X 按文件后缀排序
范例:
[root@centos7 ~]#ls -R /boot /boot: config-3.10.0-1062.el7.x86_64 efi grub grub2 initramfs-0-rescue-2fab55e6ef42422b8cfc57ccd7db581f.img initramfs-3.10.0-1062.el7.x86_64.img initramfs-3.10.0-1062.el7.x86_64kdump.img symvers-3.10.0-1062.el7.x86_64.gz System.map-3.10.0-1062.el7.x86_64 vmlinuz-0-rescue-2fab55e6ef42422b8cfc57ccd7db581f vmlinuz-3.10.0-1062.el7.x86_64 /boot/efi: EFI /boot/efi/EFI: BOOT centos /boot/efi/EFI/BOOT: BOOTX64.EFI fallback.efi fbx64.efi /boot/efi/EFI/centos: BOOT.CSV fw fwupx64.efi MokManager.efi shimx64-centos.efi BOOTX64.CSV fwupia32.efi mmx64.efi shim.efi shimx64.efi /boot/efi/EFI/centos/fw: /boot/grub: splash.xpm.gz /boot/grub2: device.map fonts grub.cfg grubenv i386-pc locale /boot/grub2/fonts: unicode.pf2 /boot/grub2/i386-pc: acpi.mod gdb.mod pata.mod adler32.mod geli.mod pbkdf2.mod affs.mod gettext.mod pbkdf2_test.mod afs.mod gfxmenu.mod pcidump.mod ahci.mod gfxterm_background.mod pci.mod all_video.mod gfxterm_menu.mod plan9.mod aout.mod gfxterm.mod play.mod archelp.mod gptsync.mod png.mod ata.mod gzio.mod priority_queue.mod at_keyboard.mod halt.mod probe.mod backtrace.mod hashsum.mod procfs.mod bfs.mod hdparm.mod progress.mod biosdisk.mod hello.mod pxechain.mod bitmap.mod help.mod pxe.mod bitmap_scale.mod hexdump.mod raid5rec.mod blocklist.mod hfs.mod raid6rec.mod blscfg.mod hfspluscomp.mod read.mod boot.img hfsplus.mod reboot.mod boot.mod http.mod regexp.mod bsd.mod iorw.mod reiserfs.mod btrfs.mod iso9660.mod relocator.mod bufio.mod jfs.mod romfs.mod cat.mod jpeg.mod scsi.mod cbfs.mod keylayouts.mod search_fs_file.mod cbls.mod keystatus.mod search_fs_uuid.mod cbmemc.mod ldm.mod search_label.mod cbtable.mod legacycfg.mod search.mod cbtime.mod legacy_password_test.mod sendkey.mod chain.mod linux16.mod serial.mod cmdline_cat_test.mod linux.mod setjmp.mod cmosdump.mod loadenv.mod setjmp_test.mod cmostest.mod loopback.mod setpci.mod cmp.mod lsacpi.mod sfs.mod command.lst lsapm.mod signature_test.mod configfile.mod lsmmap.mod sleep.mod core.img ls.mod sleep_test.mod cpio_be.mod lspci.mod spkmodem.mod cpio.mod luks.mod squash4.mod cpuid.mod lvm.mod syslinuxcfg.mod crc64.mod lzopio.mod tar.mod cryptodisk.mod macbless.mod terminal.lst crypto.lst macho.mod terminal.mod crypto.mod mda_text.mod terminfo.mod cs5536.mod mdraid09_be.mod test_blockarg.mod datehook.mod mdraid09.mod testload.mod date.mod mdraid1x.mod test.mod datetime.mod memdisk.mod testspeed.mod diskfilter.mod memrw.mod tftp.mod disk.mod minicmd.mod tga.mod div_test.mod minix2_be.mod time.mod dm_nv.mod minix2.mod trig.mod drivemap.mod minix3_be.mod tr.mod echo.mod minix3.mod truecrypt.mod efiemu.mod minix_be.mod true.mod ehci.mod minix.mod udf.mod elf.mod mmap.mod ufs1_be.mod eval.mod moddep.lst ufs1.mod exfat.mod modinfo.sh ufs2.mod exfctest.mod morse.mod uhci.mod ext2.mod mpi.mod usb_keyboard.mod extcmd.mod msdospart.mod usb.mod fat.mod multiboot2.mod usbms.mod file.mod multiboot.mod usbserial_common.mod font.mod nativedisk.mod usbserial_ftdi.mod freedos.mod net.mod usbserial_pl2303.mod fshelp.mod newc.mod usbserial_usbdebug.mod fs.lst nilfs2.mod usbtest.mod functional_test.mod normal.mod vbe.mod gcry_arcfour.mod ntfscomp.mod verify.mod gcry_blowfish.mod ntfs.mod vga.mod gcry_camellia.mod ntldr.mod vga_text.mod gcry_cast5.mod odc.mod video_bochs.mod gcry_crc.mod offsetio.mod video_cirrus.mod gcry_des.mod ohci.mod video_colors.mod gcry_dsa.mod part_acorn.mod video_fb.mod gcry_idea.mod part_amiga.mod videoinfo.mod gcry_md4.mod part_apple.mod video.lst gcry_md5.mod part_bsd.mod video.mod gcry_rfc2268.mod part_dfly.mod videotest_checksum.mod gcry_rijndael.mod part_dvh.mod videotest.mod gcry_rmd160.mod part_gpt.mod xfs.mod gcry_rsa.mod partmap.lst xnu.mod gcry_seed.mod part_msdos.mod xnu_uuid.mod gcry_serpent.mod part_plan.mod xnu_uuid_test.mod gcry_sha1.mod part_sun.mod xzio.mod gcry_sha256.mod part_sunpc.mod zfscrypt.mod gcry_sha512.mod parttool.lst zfsinfo.mod gcry_tiger.mod parttool.mod zfs.mod gcry_twofish.mod password.mod gcry_whirlpool.mod password_pbkdf2.mod /boot/grub2/locale: ast.mo de@hebrew.mo en@greek.mo eo.mo gl.mo ja.mo pl.mo sv.mo zh_CN.mo ca.mo de.mo en@hebrew.mo es.mo hu.mo lt.mo pt_BR.mo tr.mo zh_TW.mo da.mo en@arabic.mo en@piglatin.mo fi.mo id.mo nl.mo ru.mo uk.mo de_CH.mo en@cyrillic.mo en@quot.mo fr.mo it.mo pa.mo sl.mo vi.mo
1.2.4、查看文件状态
范例:
[root@centos7 ~]#stat /etc/passwd File: ‘/etc/passwd’ Size: 2256 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 134330564 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:passwd_file_t:s0 Access: 2020-03-29 15:50:01.109177374 +0800 Modify: 2020-03-17 10:50:55.021029137 +0800 Change: 2020-03-17 10:50:55.022029138 +0800 Birth: - [root@centos7 ~]#
1.2.5、Linux和windows文本格式转换
范例:
1 [root@centos8 data]#dnf -y install dos2unix 安装转换工具 2 [root@centos8 data]#dos2unix win.txt 将Linux的文本格式转换为Windows的文本格式 3 dos2unix: converting file win.txt to Unix format... 4 [root@centos8 data]#file win.txt 5 win.txt: ASCII text 6 7 [root@centos8 data]#unix2dos win.txt 将Windows的文本格式转换为Linux的文本格式 8 unix2dos: converting file win.txt to DOS format... 9 [root@centos8 data]#file win.txt 10 win.txt: ASCII text, with CRLF line terminators
1.2.6、文件通配符
范例:
1 [root@centos7 data]#touch file{a..z}.txt 2 [root@centos7 data]#ls 3 filea.txt filee.txt filei.txt filem.txt fileq.txt fileu.txt filey.txt 4 fileb.txt filef.txt filej.txt filen.txt filer.txt filev.txt filez.txt 5 filec.txt fileg.txt filek.txt fileo.txt files.txt filew.txt 6 filed.txt fileh.txt filel.txt filep.txt filet.txt filex.txt 7 [root@centos7 data]#touch file{0..9}.txt 8 [root@centos7 data]#ls 9 file0.txt file5.txt filea.txt filef.txt filek.txt filep.txt fileu.txt filez.txt 10 file1.txt file6.txt fileb.txt fileg.txt filel.txt fileq.txt filev.txt 11 file2.txt file7.txt filec.txt fileh.txt filem.txt filer.txt filew.txt 12 file3.txt file8.txt filed.txt filei.txt filen.txt files.txt filex.txt 13 file4.txt file9.txt filee.txt filej.txt fileo.txt filet.txt filey.txt
1 [root@centos7 data]#ls file[:lower:].txt 2 filee.txt filel.txt fileo.txt filer.txt filew.txt
1.2.7、复制文件和目录
Linux cp命令主要用于复制文件或目录
范例:
1 [root@centos7 data]#cp /etc/issue ./issue.bak 复制/etc/issue到当前目录下改名为issue.bak 2 [root@centos7 data]#ll !* 执行上一条命令的参数 3 ll /etc/issue ./issue.bak 4 -rw-r--r--. 1 root root 23 Sep 5 2019 /etc/issue 5 -rw-r--r--. 1 root root 23 Mar 29 20:46 ./issue.bak 6 [root@centos7 data]#date 7 Sun Mar 29 20:46:38 CST 2020
1 [root@centos7 data]#cp -p /root/windows2.txt windows3.txt 2 [root@centos7 data]#ls 3 file0.txt file5.txt filea.txt filef.txt filek.txt filep.txt fileu.txt filez.txt 4 file1.txt file6.txt fileb.txt fileg.txt filel.txt fileq.txt filev.txt issue.bak 5 file2.txt file7.txt filec.txt fileh.txt filem.txt filer.txt filew.txt windows3.txt 6 file3.txt file8.txt filed.txt filei.txt filen.txt files.txt filex.txt 7 file4.txt file9.txt filee.txt filej.txt fileo.txt filet.txt filey.txt 8 [root@centos7 data]#ll /root/windows2.txt windows3.txt 9 -rw-r--r--. 1 root root 9 Mar 24 09:49 /root/windows2.txt 10 -rw-r--r--. 1 root root 9 Mar 24 09:49 windows3.txt
1.2.8、移动和重命名文件
移动文件夹

rename可以批量修改文件名
1 [root@centos7 data]#touch file{1..10}conf 2 [root@centos7 data]#ls 3 file10conf file2conf file4conf file6conf file8conf 4 file1conf file3conf file5conf file7conf file9conf 5 [root@centos7 data]#rename conf conf.bak * 6 [root@centos7 data]#ls 7 file10conf.bak file2conf.bak file4conf.bak file6conf.bak file8conf.bak 8 file1conf.bak file3conf.bak file5conf.bak file7conf.bak file9conf.bak 9 [root@centos7 data]#
1.2.9、硬链接和软连接的区别
创建硬链接(不允许跨分区创建,不允许创建文件夹的硬链接)

创建软链接

二、标准I/O重定向和管道
2.1、标准输入和输出
Linux给程序提供三种I/O设备
标准输入 -0 默认接受来自终端窗口的输入
标准输出 -1 默认输出到终端窗口
标准错误 -2 默认输出到终端窗口
1 root@centos7 ~]#ll /dev/std* 2 lrwxrwxrwx. 1 root root 15 Mar 29 09:32 /dev/stderr -> /proc/self/fd/2 3 lrwxrwxrwx. 1 root root 15 Mar 29 09:32 /dev/stdin -> /proc/self/fd/0 4 lrwxrwxrwx. 1 root root 15 Mar 29 09:32 /dev/stdout -> /proc/self/fd/1 5 [root@centos7 ~]#ll /proc/self/fd/* 6 ls: cannot access /proc/self/fd/255: No such file or directory 7 ls: cannot access /proc/self/fd/3: No such file or directory 8 lrwx------. 1 root root 64 Mar 29 21:43 /proc/self/fd/0 -> /dev/pts/1 9 lrwx------. 1 root root 64 Mar 29 21:43 /proc/self/fd/1 -> /dev/pts/1 10 lrwx------. 1 root root 64 Mar 29 21:43 /proc/self/fd/2 -> /dev/pts/1
2.2、I/O重定向
2.2.1、标准输出和错误重定向
支持的操作符号包括:
1> 或 > 把标准输出重定向到文件
2> 把标准错误重定向到文件
& 把所有输出重定向到文件
以上如果文件已存在,文件内容会被覆盖
set -c 禁止将内容覆盖已有文件,但可追加,利用>|仍可强制覆盖
set +c 允许覆盖,默认
标准输出范例:
hostname 1> /dev/pts/1 在当前pts0终端输入该命令,输出到pts1终端

将uname -r 的标准输出结果重定向到/data/stdout.log文件下,当前data下没有stdout.log文件执行命令会创建文件。(如果再执行一次会覆盖当前文件)

两个>不会覆盖原文件内容只会追加

()将多个命令的执行结果重定向到/data/f1.log文件

标准错误范例:
将执行xxx的错误输出命令放到/data/f1.log下

删除/data/f1.log将提示信息重定向到/data/all.log文件

加上&符号将执行命令的正确和错误信息都存到 /data/all.log中

清除大文件

2.2.2、标准输入重定向
利用<可以将标准输入重定向
范例:
将1-100相加的算式重定向到bc.log文件中,将bc.log重定向输入到bc计算机程序中

多行重定向
范例:
1 [root@centos7 data]#cat > /data/cat1.log <<EOF 2 > 1 3 > 1 4 > EOF 5 [root@centos7 data]#cat cat1.log 6 1 7 1
2.3、管道
管道用来连接多个命令
将命令1的标准输出发送给命令2的标准输入,命令2的标准输出发送到命令3的标准输入
所有命令会在当前shell进程的子shell进程中执行
范例:
管道符左边的命令输出的结果,传给右边输入执行

三、用户、组和权限
用户管理命令
useradd
usermod
userdel
组账户维护命令
groupadd
groupmod
groupdel
3.1、用户创建
- -c<备注> 加上备注文字。备注文字会保存在passwd的备注栏位中。
- -d<登入目录> 指定用户登入时的启始目录。
- -D 变更预设值.
- -e<有效期限> 指定帐号的有效期限。
- -f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。
- -g<群组> 指定用户所属的群组。
- -G<群组> 指定用户所属的附加群组。
- -m 自动建立用户的登入目录。
- -M 不要自动建立用户的登入目录。
- -n 取消建立以用户名称为名的群组.
- -r 建立系统帐号。
- -s<shell> 指定用户登入后所使用的shell。
- -u<uid> 指定用户ID。
添加一般用户
# useradd tt
为添加的用户指定相应的用户组
# useradd -g root tt
创建一个系统用户
# useradd -r tt
为新添加的用户指定home目录
# useradd -d /home/myd tt
建立用户且制定ID
# useradd gjz -u 544
典型范例:

生成随机口令
1 [root@centos7 ~]#openssl rand -base64 9 2 3upzvCXUYaUD 3 [root@centos7 ~]#
用户属性修改
Linux usermod命令用于修改用户帐号。
usermod可用来修改用户帐号的各项设定。
- -c<备注> 修改用户帐号的备注文字。
- -d登入目录> 修改用户登入时的目录。
- -e<有效期限> 修改帐号的有效期限。
- -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
- -g<群组> 修改用户所属的群组。
- -G<群组> 修改用户所属的附加群组。
- -l<帐号名称> 修改用户帐号名称。
- -L 锁定用户密码,使密码无效。
- -s<shell> 修改用户登入后所使用的shell。
- -u<uid> 修改用户ID。
- -U 解除密码锁定。
更改登录目录
# usermod -d /home/hnlinux root
改变用户的uid
# usermod -u 777 root
3.2、创建组
groupadd用于创建一个新的工作组
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
建立一个新组,并设置组ID加入系统:
groupadd -g 344 jsdigname
修改组
Linux groupmod命令用于更改群组识别码或名称。
需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。
- -g <群组识别码> 设置欲使用的群组识别码。
- -o 重复使用群组识别码。
- -n <新群组名称> 设置欲使用的群组名称。
3.3、文件权限
查看gjz用户所属组

更改文件f1.txt文件所有者root变为wang

更改f1.txt文件的所属组

同时更改f1.txt文件的所有者和所属组(所有者和所属组中间可用.或者:)


参考f1文件属性更f2文件

chown -R递归更改,将dir1文件夹中的文件夹文件所属者改为mage,所属组改为g1(较危险)

文件开头9个字符中前3个为文件所属者权限,中间3个为所属组权限,最后3个为other其他用户

修改文件权限chmod命令

数字修改权限法

3.3.1、umask新建文件和目录的默认权限

指定umask值为754,默认创建文件夹权限为777-754=023,默认创建文件权限为666-754=022,6-7=-1(结果为奇数+1),6-5=1(结果为奇数+1),6-4=2,结果偶数不变

临时更改umask值创建文件

3.4、对root账户设置权限约束防止误操作
chattr +i 防止root账户权限过大文件误删除 (不能删除,改名,更改)

chattr -i取消限制 lsattr 查看

chattr -a 可以追加内容不能删除改名
3.5ACL访问控制列表
setfacl命令 是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一系列的文件名
-b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。
-k,--remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示。
-n,--no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定。
--mask:重新计算有效权限,即使ACL mask被明确指定。
-d,--default:设定默认的acl规则。
--restore=file:从文件恢复备份的acl规则(这些文件可由getfacl -R产生)。通过这种机制可以恢复整个目录树的acl规则。此参数不能和除--test以外的任何参数一同执行。
--test:测试模式,不会改变任何文件的acl规则,操作后的acl规格将被列出。
-R,--recursive:递归的对所有文件及目录进行操作。
-L,--logical:跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录。
-P,--physical:跳过所有符号链接,包括符号链接文件。
--version:输出setfacl的版本号并退出。
--help:输出帮助信息。
--:标识命令行参数结束,其后的所有参数都将被认为是文件名
-:如果文件名是-,则setfacl将从标准输入读取文件名。
setfacl设置acl,getfacl查看acl

删除acl

清空所有acl

递归设置权限

# useradd caojh -u 544

浙公网安备 33010602011771号