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
转载于:https://blog.51cto.com/aichannel/1965882