2. 文件、目录管理 2.1 有哪些文件目录 2.1.1 /bin 2.1.2 /boot 2.1.3 /dev 2.1.4 /etc 2.1.5 /home 2.1.6 /lib /lib64 2.1.7 /meida 2.1.8 /mnt 2.1.9 /opt 2.1.10 /proc 2.1.11 /run 2.1.12 /sbin 2.1.13 /srv 2.1.14 /sys 2.1.15 /tmp 2.1.16 /usr 2.1.17 /var 2.2 常用命令 2.2.1 tree //以树形结构显示目录结构; yum install -y tree //安装tree包; tree --hep //查看tree的用法, 或用 man tree; tree -L 2 //指定树的深度为2; 2.2.2 ls /home/username // 列出用户名; ls /etc/ssh/sshd_config //列出配置文件 2.2.3 useradd username //增加用户名字 2.2.4 ldd /bin/ls //查看一个文件依赖哪些库 2.2.5 ls -l /proc/28/ //查看进程pid=28的进程目录 2.3 ls命令详解 2.3.1 ls -l 列出文件、目录 2.3.2 ls -i 查看文件、目录的iNode号 2.3.2.1 ls -i /root 2.3.2.2 ls -i . 2.3.2.3 ls -i .ssh/.. 2.3.3 ls -a 显示所有隐藏的文件、目录 2.3.4 ls -t 按时间time排序 2.3.4 ls -h 显示单位 2.3.5 ls -d 只列出目录本身 2.3.6 ll 是ls -l的别名 2.3.7 which ll 查看ll文件的路径 2.3.8 ls -la 2.3.8.1 列出的左边第一位d表示directory目录 2.3.8.2 列出的左边第一位-表示文件 2.3.8.3 列出的左边第一位c表示字符串设备 2.3.8.4 列出的左边第一位l表示软链接文件,相当于快捷方式 2.3.8.5 列出的左边第一位b表示块设备,如光盘、磁盘等 2.3.8.6 列出的左边第一位s表示socket文件,用于进程间的通信 2.3.9 cat 查看文本文档 2.4 alias别名的使用 2.4.1 alias //查看系统的别名 2.4.2 echo $PATH //输出PATH环境变量的值 2.4.3 alias alibaba='ls -al' //将ls -al命令用alibaba这个别名表示, 注意一般用单引号 2.4.4 which alibaba //查看alibaba这个别名所在的路径 2.4.5 unalias alibaba //取消alibaba这个别名 2.5 绝对路径与相对路径 2.5.1 绝对路径: 从根目录开始的路径 2.5.1.1 ls /root/.ssh/authorized_keys 2.5.2 相对路径: 相对当前目录所表示的路径 2.5.2.1 ls .ssh/authorized_keys 2.6 cd 命令 2.6.1 cd /etc/sysconfig //change directory to /etc/sysconfig 2.6.2 cd - //进入上一次所在目录 2.6.3 cd //进入当前用户的家目录 2.6.4 cd ~ //进入当前用户的家目录 2.6.5 cd .. //返回上一级目录 2.7 创建和删除目录 2.7.1 mkdir make directory 创建一个目录 2.7.1.1 mkdir /tmp/newDir 2.7.1.2 mkdir -p /tmp/newDir1/newDir2 // -p表示创建一串目录 2.7.1.3 mkdir -pv /tmp/newDir3/newDir4/newDir5 // -v表示可视化 2.7.2 rmdir remove directory 删除一个空的目录,且只能是目录 2.7.2.1 touch /tmp/2/3/1.txt //创建一个空白文件 2.7.2.2 !tree //执行最近一次以tree开头的命令 2.7.2.3 history //查看命令历史 2.7.3 rm命令 remove 移除 2.7.3.1 rm /tmp/johnson/2/3/1.txt //移除1.txt文本文档,此处有询问 2.7.3.2 rm -f /tmp/johnson/2/3/1.txt //-f 表示force 2.7.3.3 rm -r //-r 表示recursive,指示rm将参数中列出的全部目录和子目录均递归地删除 2.7.3.4 rm -rf //-rf 常组合使用 2.7.3.5 按两下Tab键可以显示目录后面的目录或文件 2.8 PATH环境变量 2.8.1 是环境变量,这个变量里面有多个绝对路径,用冒号:分割,在这些路径下的命令是可以直接敲出来,省略掉目录路径的; 2.8.2 设置环境变量(临时的):PATH=$PATH:pathname 2.8.3 修改环境变量为永久的: vi /etc/profile, 然后增加 PATH=$PATH:/pathname/ 2.9 cp 拷贝命令 2.9.1 拷贝时所有的目录后面加/ 2.9.2 cp /etc/passwd /tmp/1.txt 2.9.3 cp -r /etc/passwd /tmp/1.txt //递归处理,将指定目录下的所有文件与子目录一并处理 2.9.4 !$ //执行上一条命令最后一个参数 2.9.5 /usr/bin/cp /etc/passwd /tmp/1.txt //不再有询问语句 2.9.6 cp -r /tmp/aminglinux /tmp/aming1/ //aming文件夹存在,放在其后 2.10 mv 命令 2.10.0 mv /etc/new1.txt /etc/2/ 2.10.1 当目标文件不存在时,可以更改文件名 2.10.2 当目标文件存在时,自动到它的后面 2.11 文件或目录权限 2.11.1 所有者-所属组-其他用户 2.11.2 chmod 700 1.txt //change mod for 700(rwx------) 2.11.3 --rw-----. //此处的点表示受制于selinux 2.11.3.1 setenforce 0 //临时关闭selinux 2.11.3.2 getenforce //查询 2.11.3.3 vi /etc/selinux/config //可以修改selinux的配置文件得到永久关闭selinux的效果 2.11.3.4 chmod -R //处理指定目录以及其子目录下的所有文件 2.11.3.5 chmod u=rwx,g=r,o=r newDir 2.11.3.6 chmod a+x newDir 2.11.4 chown //change owner 2.11.4.1 chown user1:aming /tmp/yum.log 2.11.4.2 chown :root /tmp/yum.log 2.11.4.3 chown -R user1:aming /tmp/aming2 //-R:处理指定目录以及其子目录下的所有文件 2.11.5 chgrp //change group 2.11.5.1 chgrp user1 /tmp/yum.log 2.12 umask 2.12.1 file: 666= (rw-rw-rw-) - (-------wx) = rw-rw-r-- =644 即: 666-umask=file 2.12.2 directory: 777 = (rwxrwxrwx) - (-------wx) = rwxrwxr-- = 744 即:777-umask=directory 2.13 隐藏权限 2.13.1 chattr 2.13.1.1 chattr +a //设置追加权限 2.13.1.2 chattr -a // 2.13.1.3 chattr +i //设置不允许修改文件的权限,如果是目录的话,只能修改目录之下的文件,不允许建立和删除文件 3.10.1.4 chattr -i // 2.13.2 lsattr 查看 2.13.2.1 lsattr -R //查看子目录及文件 2.13.2.2 lsattr -d //查看当前目录 2.13.2.3 lsattr -a //查看所有包括隐藏的文件 2.14 set_uid 和 set_gid 2.14.0 https://wenku.baidu.com/view/cf3baa6a561252d380eb6ed7.html 2.14.1 set_uid 2.14.1.1 chmod u=rwxs file_name //显示s 2.14.1.2 chmod u=rws file_name //显示S 2.14.2 set_gid 2.14.2.1 chmod g=rwxs Directory_name 2.14.2.2 chmod g=rws Directory_name 2.14.3 sticky_bit //t表示防删除位 2.14.4 扩展 2.14.3.1 df -h //以更易读的方式显示目前磁盘空间和使用情况 2.14.3.2 df -i //以inode模式来显示磁盘使用情况 2.15 软链接 和 硬链接 2.15.1 软链接 2.15.1.1 ln -s /tmp/yum.log /root/111/yum.log //相当于一个快捷方式 2.15.1.2 案例: cp /boot/aminglinux.log /aming,log rm /boot/aming.log ln -s /aming.log /boot/aming.log 2.15.1.3 做软链接尽量使用绝对路径 2.15.2 硬链接 2.15.2.1 ln 1.txt 1.head.txt 2.15.2.2 ls -i 1_head.txt //查看iNode号 2.15.2.3 注意事项: 2.15.2.3.1 文件做硬链接,不能跨分区; 2.15.2.3.2 创建了一个文件,和另一个文件的iNode号一样 2.15.2.3.3 不能对目录做硬链接 2.16 find命令 2.16.1 which ls // 2.16.2 whereis ls //模糊查询 2.16.3 locate 123 //yum install -y mlocate ,模糊查询 2.16.4 一些常用快捷键 2.16.4.1 ctrl + l //clear screen 2.16.4.2 ctrl + d //exit/login 2.16.4.3 ctrl + c //取消本次操作 2.16.4.4 ctrl + u //往前删一行 2.16.4.5 ctrl + e //移动光标到结尾处 2.16.5 find 路径 -type f(文件) -mtime +1(一天以上) -o(或者) -name "*.conf" 2.16.5.1 -mtime : Modify, 表示更改文件内容的时间(iNode) 2.16.5.2 -ctime : Change, 表示权限、语言的改变 2.16.5.3 -atime : Access, 表示访问的时间 2.16.5.4 -nmin -60(1小时以内) 2.16.5.5 stat 1.txt //查看文件的具体信息 2.16.5.6 ln 1_head.txt /tmp/1.txt.bak 2.16.5.6.1 ls -l 1_head.txt 2.16.5.6.2 ls -i 1_head.txt 2.16.5.6.3 find / -inum 33583395 //查找一个文件iNode号为33583395的硬链接 2.16.5.7 ls -l /root/2.txt 2.16.5.7.1 date 2.16.5.7.2 find /root/ -type -f -nmin -120 -exec ls -l {} \; //-exec 表示显示后面的命令 2.16.5.7.3 find /root/ -type f -nmin -150 -exec mv {} {}.bak \; //{}.bak为文件的格式名 2.16.5.7.4 -size 10K/M 2.17 文件后缀名 2.17.1 语言的修改 2.17.1.1 zh_CN.utf-8 //中文字符集编码 2.17.1.2 LANG=en //英文 2.17.1.3 echo $LANG //打印语言的类型 2.18 Linux和Windows互传文件 2.18.1 可通过ftp, samba 2.18.2 在Xshell、securecrt环境下,安装传输协议包 2.18.2.1 yum install -y lrzsz 2.18.2.2 sz 1.txt //linux -> windows 2.18.2.3 rz 1.txt //windows -> linux r:remote