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 603 drwxr-xr-x. 2 root root 100 Mar 29 09:32 abrt4 -rw-------. 1 root root 11 Mar 29 09:32 alsactl.pid5 -rw-r--r--. 1 root root 5 Mar 29 09:32 atd.pid6 -rw-r--r--. 1 root root 4 Mar 29 09:32 auditd.pid7 prw-------. 1 root root 0 Mar 29 09:32 autofs.fifo-misc8 prw-------. 1 root root 0 Mar 29 09:32 autofs.fifo-net9 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/passwdFile: ‘/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 +0800Birth: -
[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.txt5 win.txt: ASCII text6 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}.txt2 [root@centos7 data]#ls3 filea.txt filee.txt filei.txt filem.txt fileq.txt fileu.txt filey.txt4 fileb.txt filef.txt filej.txt filen.txt filer.txt filev.txt filez.txt5 filec.txt fileg.txt filek.txt fileo.txt files.txt filew.txt6 filed.txt fileh.txt filel.txt filep.txt filet.txt filex.txt7 [root@centos7 data]#touch file{0..9}.txt8 [root@centos7 data]#ls9 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.txt2 [root@centos7 data]#ls3 file0.txt file5.txt filea.txt filef.txt filek.txt filep.txt fileu.txt filez.txt4 file1.txt file6.txt fileb.txt fileg.txt filel.txt fileq.txt filev.txt issue.bak5 file2.txt file7.txt filec.txt fileh.txt filem.txt filer.txt filew.txt windows3.txt6 file3.txt file8.txt filed.txt filei.txt filen.txt files.txt filex.txt7 file4.txt file9.txt filee.txt filej.txt fileo.txt filet.txt filey.txt8 [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/23 lrwxrwxrwx. 1 root root 15 Mar 29 09:32 /dev/stdin -> /proc/self/fd/04 lrwxrwxrwx. 1 root root 15 Mar 29 09:32 /dev/stdout -> /proc/self/fd/15 [root@centos7 ~]#ll /proc/self/fd/*6 ls: cannot access /proc/self/fd/255: No such file or directory7 ls: cannot access /proc/self/fd/3: No such file or directory8 lrwx------. 1 root root 64 Mar 29 21:43 /proc/self/fd/0 -> /dev/pts/19 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
递归设置权限
Linux文件管理、标准I/O重定向和管道以及Linux用户、组和权限知识总结相关推荐
- 标准I/O重定向和管道
标准I/O重定向和管道 1.标准输入和输出 程序:指令+数据 读入数据:Input 输出数据:Output 打开的文件都有一个fd: fifile descriptor (文件描述符) Linux给程 ...
- linux系统用户,组和权限的管理
PS: {最近一直在做毕业设计,前面博客也记录过我的一些过程.其中需要在Ubuntu上搭建一个FTP服务器,此处我选择Vsftpd,但是在我对vsftpd的配置文件vsftpd.conf设置正确后(对 ...
- Linux 标准输入输出、重定向及管道
随笔一篇,以便日后翻阅,如有问题欢迎指正 操作环境:Ubuntu 21.10 desktop shell版本:Xshell 因为所学知识有限,所以本文结合了多篇文章的精华并适当添加了自己的内容 其实就 ...
- linux apache设置web访问重定向_从零开始学Linux运维|30.Linux的目录结构
1.tree命令 linux下目录结构跟一个倒过来的树一样的,最顶层就是根目录 / tree这个命令就很形象 它够很方便的查看目录结构 使用"yum install tree -y" ...
- Linux bash中I/O重定向及管道
我们知道,在Linux中一切皆文件.这就意味着,任何一个设备在系统中都有一个文件与之对应.因此我们就可以通过文件来访问设备.对于用户来讲,访问文件就是通过文件名来进行的,用户看到就是一个文件名,但对于 ...
- linux 重定向_Unix/Linux编程实践之IO重定向和管道
I/O重定向的原理模型 ls > test.file是如何工作的?shell是如何告诉程序把结果输出到文件,而不是屏幕? 在who | sort > user.file中,shell是如何 ...
- nohup: 忽略输入重定向错误到标准输出端_Linux 重定向与管道
重定向 重定向 > 重定向追加输入 >> 正确错误都会重定向 &> 标准输入 0 标准输出 1> 或 > (简写) 标准错误 2> FD 文件描述符, ...
- Linux中强大的输入输出重定向和管道
Linux中有三个最重要的输入输出流: Standard Input(STDIN) - 通常指键盘的输入 Standard Output(STDOUT) - 通常指显示器的输出 Standard Er ...
- linux允许所有用户执行文件夹,在Linux中,可以使用命令()针对文件newfiles.txt为所有用户添加执行权限。...
[1]( )鸡冠花的来源是苋科植物鸡冠花的干燥花序. 29.下列酚中,哪个酚酸性最强( ). "多一份经历,就多一件本领"这说明 创建students对象,_______语句可以选 ...
最新文章
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(手动配置箱图箱体颜色)实战
- C# 设置Word文档保护(加密、解密、权限设置)
- yd的拔钉子之路之 POI 2017
- [How TO]-Ubuntu 20.04修改终端标题栏文字
- 无序数组求第k大的数 python_整数无序数组求第K大数
- 使用nodejs构建Docker image最佳实践
- 想在边缘运行计算机视觉程序?先来迎接挑战!
- Linux文件系统IO:直接IO原理与实现:缓存I/O、直接I/O
- 数据科学入门的5个技巧
- 吴恩达《机器学习训练秘籍》完整中文版,现在可免费下载 | 资源
- Notification的使用,以及他的监听方法
- 字符串、数组处理方法总结
- 有限域f9的特征是多少_密码学数学基本第十一讲有限域.ppt
- 电信中兴f452光猫路由改桥接最简单的方式,亲自体验成功。
- AirTrest连接模拟器和安卓手机
- 中科院毕业去向(硕士+博士)
- matlab导弹追踪,导弹追踪代码
- 全球喷气发动机收入预计2028年达到1189.6亿美元
- 数据库并发抢红包_微信高并发抢红包秒杀实战案例
- 学习如何使用html和css样式将两张图片叠加到另一张图片上,实现微信扫一扫二维码效果
热门文章
- Docker-端口映射与容器互联
- 计算机一级文件题后缀名改吗,计算机一级文件与文件夹操作题
- Comparator简单小结
- html影音播放器百度云,关于前端直播(videoJS与百度云web播放器:Cyberplayer3.0试用)...
- 5G生活到底啥样?一分钟带你提前体验!
- 小米大BOSS雷军写Java代码水平如何?一起来扒一扒
- python pdf加密以及校验pdf是否是加密的
- 什么软件测试鞋子真假,小白如何快速鉴定耐克鞋真假?记住这5点,让你永远识别假鞋...
- Qt开发的上位机 硬件:固高八轴运动控制卡,海康威视相机,金橙子板卡,喷码机
- php图片水印制作教程,使用PHP给图片加水印的方法