目录与路径1.相对路径与绝对路径++++++相对路径:由/usr/share/doc --/usr/share/mancd ../man++++++2.目录的相关操作++++++cd-代表前一个工作目录~代表“目前用户身分”所在的主文件夹++++++pwd -P 显示正确的完整路径mkdir3.执行文件路径变量$PATH++++++命令 ls在/bin文件下,并设置了环境变量$PATH,所以在任何地方都可以执行ls命令没有设置环境变量的命令可以使用绝对路径执行或者将命令路径放到已设置环境变量的文件中将文件放在PATH中 PATH="$PATH":/root++++++文件与目录管理++++++1.查看文件与目录++++++ls命令-l :以长格式显示long format-d:显示目录本身的属性directory-t:按文件修改时间进行排序time-r :将目录的内容清单以英文字母顺序的逆序显示-a:显示所有子目录和文件的信息,包括隐藏文件all-A:类似于“-a”,但不显示“.”和“..”目录的信息-h:以更易读的字节单位(K、M等)显示信息human-readable-R:递归的显示目录内容-S:以文件容量大小排序-n:列出uid和gid--full-time:显示完整的时间----------------察颜观色黑色代表是普通的文件蓝色代表是目录(文件夹)紫色代表是图片文件绿色代表是可以执行的文件(脚本文件)--》存放linux命令的红色代表是压缩文件++++++file 查看文件类型file tyz/++++++du 查看文件的大小-a all 显示文件和文件夹的大小,默认以k为单位显示,最后统计总的大小-h, --human-readableprint sizes in human readable format (e.g.,1K 234M 2G)-s, --summarize++++++stat fuxingkai 查看文件的状态++++++2.复制、删除与移动++++++cp-i:覆盖询问-r:递归复制-p:连同文件属性一起复制过去-a:复制文件完全一样-s:复制成为软连接(快捷方式)-l :复制成为硬链接cp tyz /lianxi/tyz2 复制tyz文件到练习下并改名叫tyz2cp -u ~/,bashrc /tmp/bashrc 当~/,bashrc比/tmp/bashrc新时才会更新(备份常用)#在默认条件中,cp的源文件与目的文件的权限是不同的,目的文件的所有者通常是命令操作者本身所以在复制时要加上-a或者-p完整复制文件权限(root用户可以改变属主属组,但是普通用户原本无法操作的,即使-a,-p复制后只能修改时间属性等但是与所有者属组有关的无法完整复制),要复制文件给其他人也要注意文件的权限++++++rm -- -aaa- 可以删除带-的文件++++++3.文件内容查阅++++++head -n +10 massage 查看massage前10行tail -n +10 massage 从第10行开始显示tail -n -10 massage 显示最后10行cat -n massage |head -6|tail -1 显示第六行more:一页一页显示文件space:向下翻一页enter:向下一行q:退出b:往回翻页less:一页一页翻动spaces:向下pageup:向上++++++cat-b:列出行号,空白行不标-n:列出行号,空白行也有标号tac /lianxi从最后一行到第一行显示++++++nl :添加行号-b a:不论是否为空行,都显示行号-b t:空行不显示行号-n :显示行号-n ln:在右侧显示行号-n rn:在左侧显示行号不加0++++++4.文件压缩只能对文件:压缩:zip hosts.zip hosts --- 将hosts文件压缩成hosts.zipgzip hosts ---直接在源文件上打压缩包,压缩包的扩展名为.gz(zcat查看压缩文件内容)bzip2 hosts 直接在源文件上打压缩包,压缩包的扩展名为.bz2(bzcat查看压缩文件内容)解压:unzip hosts.zipgunzip hosts.gzgzip -d 和gunzip的效果一样。
bunzip2 或者bzip2 -d 直接在源文件上操作压缩对文件、目录:tar 命令---打包命令(集结文件,并不能压缩)用途:制作归档文件、释放归档文件常用命令选项-c:创建 .tar 格式的包文件-c, --create-x:解开.tar格式的包文件-x, --extract,-v:输出详细信息-v, --verbose-f:表示使用归档文件-f, --file-t:列表查看包内的文件-p:保持原文件的原来属性-P:保留文件绝对路径-j --bzip2-z --gzip-J --xz---------------------------------------------xz---》bzip2---》gz----------创建压缩包-cjvf --->tar.bz2-czvf --->tar.gz-cJvf --->tar.xzzip格式windows和linux都支持tar -czvf messages_passwd.tar.gz messages passwd 同时将2个文件打包成messages_passwd.tar.gz ,此文件存放在当前目录下xf 可以解压tar xf messages.tar.bz2 -C /liuzhuang/ 将当前目录下的messages.tar.bz2解压到/liuzhuang目录下tf 查看打包备份文件的时候,使用绝对路径会有相关提醒,例如:tar:从成员名中删除开头的“/”因为解压的时候,不指定路径,就直接解压到当前目录,如果你带着/,解压的时候如果替换原来的文件,会导致原来的文件丢失。
不是我们希望看到的。
++++++默认权限与隐藏权限1.文件默认权限:umask++++++umask:指定目前用户在新建文件或者目录的时候的权限默认的值umask的分数指的是要拿掉的权限umask:查看当前的默认权限值umask -s:以符号形式显示权限值umask 002:设置默认权限++++++2.文件隐藏属性++++++chattr 修改文件的隐藏属性#chattr +i lianxi 将lainxi写保护,不能输入内容#chattr +i /etc/passwd 可以不让用户新建用户#chattr +a lianxi 只能追加不能删除内容lsattr 显示文件隐藏属性#----a---------e---#----i----------e---++++++3.文件特殊权限++++++SUID SGID (s)【SET位权限】-->>为可执行文件设置#当某个命令具有suid权限位,普通用户在执行这个命令时会有属主用户权限 #当某个命令具有sgid权限位,普通用户在执行这个命令时会有属组用户权限#chmod u+s /usr/bin/tail 授予tai命令suid权限位(可以which获得路径) #chmod g-s /usr/bin/tail 取消tai命令sgid权限位++++++Sticky (t)【粘滞位权限】-->>为公共目录(例如777)设置#当用户在该目录下创建文件或目录时,仅自己和root才有权利删除该文件#chmod o+t lianxi~当没有t权限时用户可以删除其他用户没有子文件的目录,不可以删除有子文件的目录++++++命令与文件查询++++++which 查找执行文件whichs local 查找文件名++++++find 命令用途:用于查找文件或目录格式:find [查找范围] [查找条件] [动作]常用查找条件-name:按文件名称查找-size:按文件大小查找-user:按文件属主查找owner-uid:按uid号查找文件-type:按文件类型查找f (file)普通文件d (directory)目录(文件夹)c 字符设备(character)b 块设备(block)l (link)链接文件p 管道pipe-perm :按文件权限查找-mtime :按文件更改时间查找-mmin:根据分钟来查找-atime:访问时间find / -mitime -4 4四天之内的文件;find / tmtime 4 四天前的那一天的文件----------特殊查找条件-o :逻辑或,只要所给的条件中有一个满足,寻找条件就算满足。
or-not :逻辑非,在命令中可用“!”表示。
该运算符表示查找不满足所给条件的文件--->取反-a:逻辑与,系统默认是与,可不加,表示只有当所给的条件都满足时,寻找条件才算满足。
and----------find /boot -size +1M -o -name "vmlinuz*" 大于1Mfind /root -mtime -2 查找2天以内的文件在/root目录下find /lianxi -name "*.txt" -exec cp {} /backup \;{} 用来存放find命令查找到的结果++++++用户与用户组++++++先有组再有用户useradd a1 新建用户a1useradd -r qinhui 新建一个系统帐号,默认情况下,不会建立家目录普通用户:使用useradd命令新建的用户,一般uid从500开始,每新建一个用户,uid会自动加1新建用户的时候如果不指定组,会自动新建一个与用户名同名的组默认情况下普通用户的家目录在/home目录下root用户的家目录在/rootuseradd -g chaoting weixiaobaouseradd -g 1000 -u 888 linjunjie 直接指定uid gid新建用户weixiaobao 指定组为chaotingid weixiaobao 查看用户weixiaobao信息-------------------------useradd命令(adduser)格式:useradd [选项]. .. 用户名常用命令选项-u:指定UID 标记号-d:指定宿主目录,缺省为/home/用户名-e:指定帐号失效时间-g:指定用户的基本组名(或UID号)(初始组)--》主要组initial_group -G:指定用户的附加组名(或GID号)---》次要组-M:不为用户建立并初始化宿主目录(家目录)-s:指定用户的登录Shell-m, --create-home 创建家目录-c, --comment COMMENT 用户注释信息-r 新建一个系统用户(uid 1-499)---》程序用户---》不建家目录------------------------------------------/etc/shadow用来存放密码信息shadow-/etc/group 存放组信息的group-/etc/login.defs 存放新建用户的时候的一些默认规则default 默认、缺省/etc/skel目录存放新建用户的时候的一些样板文件的新建用户需将目录下.bash*文件考到用户家目录下------------------------------/etc/shadow 用来存放用户密码信息passwd-(备份)字段1:用户帐号的名称*字段2:加密的密码字串信息*字段3:上次修改密码的时间以1970-1-1基准日期字段4:密码的最短有效天数,默认值为0字段5:密码的最长有效天数,默认值为99999字段6:提前多少天警告用户口令将过期,默认值为7字段7:在密码过期之后多少天禁用此用户字段8:帐号失效时间,默认值为空字段9:保留字段(未使用)!!说明zhangwuji和xuzhu没有设置密码* 也是说明没有设置密码-------------------------------------/etc/passwd用来存放用户信息新建用户的时候,会把这个用户之前新建的其他用户的信息保存到passwd-文件里,最新新建的用户不写到passwd-文件里zhangwuji:x:520:521:mingjiao zhangmenshuaige:/home/zhangwuji:/bin/bash字段1:用户帐号的名称字段2:用户密码字串或者密码占位符“x”字段3:用户帐号的UID号字段4:所属基本组帐号的GID号字段5:用户注释说明字段6:宿主目录(家目录)字段7:登录Shell信息----------------------------/etc/group 用来存放组的信息的[root@teacher vnc]# tail -2 /etc/groupzhangwuji:x:521:xuzhu:x:522:主要组有哪些用户看不到看/etc/passwd文件下的Gid-------------------------------------------------cp /etc/skel/.bash* .(复制到家目录).bash_profile:用户每次登录时执行--->.bashrc.bashrc:每次进入新的Bash环境时执行(打开终端)---->/etc/bashrc.bash_logout:用户每次退出登录时执行.bash_history 保存上次用户注销前使用的命令vim /etc/profile 修改历史记录条数1000----------------------------------------------------groupadd (命令)GroupA 添加GroupA组主组不能看user属组可以看usergroupadd -g 1000 daomingshi 指定 GID -----------------------groupdel gaibang 删除组的时候,组内不能有用户++++++linux文件权限概念1.linux文件属性++++++[d]代表目录[-]代表文件[l]代表链接文件[b]代表设备文件里面可供存储的接口设备--软盘、硬盘[c]代表设备文件里的串行端口设备--键盘、鼠标++++++文件容量大小,默认单位为B要显示完整的时间格式ls -l --ful-time++++++2.改变文件属性与权限++++++chgrp:改变文件属组chgrp -R tyz lianxi 修改lianxi属组为tyz ;-R 递归的修改;要求etc/group有此用户组名++++++chown :修改文件的属主和属组chown xiaoliu songshan 修改属主为xiaoliuchown xiaoliu:root songshan 修改songshan的属主为xiaoliu,属组为root chown -R root:root songshan 将songshan目录及子目录属组和属主都修改为rootchown :root songshan 修改songshan属组为root++++++#cp(复制)文件给其他人时,需要修改文件的属主与属组++++++chmod:修改文件或目录权限chmod 【ugoa】【+-=】【rwx】文件或文目录属主、属组、其他、所有chmod o+x,g-w passwd 其他人增加执行权限,去掉属组的写权限chmod +x passwd 增加所有用户x权限chmod a=rwx -R hunan 修改hunan目录及子目录的权限chmod 666 lianxi 修改lianxi文件读写权限++++++ACL 访问控制列表【setfacl】#可以针对任意指定的用户、组使用权限字符分配rwx权限#setfacl -m g:wudang:rwx lianxi/ 将文件夹lianxi的rwx权限分配给wudang组#setfacl -m m: :rwx lianxi/ 设最大权限,所有用户都生效#-m 新增或修改ACL规则#-b 删除所有ACL#-x 删除指定ACL setfacl -x u:tyz 123【getfacl】#getfacl lianxi/ 查看ACL【预设型ACL】---->>只能对目录#目录下的所有文件或子文件都具有主目录的ACL权限,子目录也一样#setfacl -m d:u:tyz:rw lianxi/ 指定tyz用户lianxi/拥有acl,目录下的文件目录也继承父目录权限++++++3.目录与文件的权限的意义++++++文件:r--读取此文件的内容w--编辑此文件的内容(但是不包含删除此文件)x--该文件可执行目录:r--读取目录(ls)w--新建删除文件、目录;重命名文件目录;转移该目录内的文件目录位置x--进入目录(cd)#目录的w权限没有设置,即使拥有目录中某文件的w权限,该文件也不能写#一个文件能不能删除,主要看文件所在的目录对用户有没有写权限#只有执行权限,只能进入目录,不能看到目录下的内容++++++linux目录配置++++++/ :与开机系统有关/usr :与软件安装执行有关/var :与系统运作过程有关/bin:放置执行文件的目录/boot:放置开机会用到的文件/dev:存放设备与接口设备文件/etc:存放系统主要的配置文件/home:系统用户默认的主文件夹/lib:开机时用到的函数库/mnt:暂时挂在某些设备/srv:存放网络服务启动数据/sbin:存放配置系统环境命令/tmp:存放临时文件(定期清理)++++++链接文件++++++ln -s abc def 建立abc的软连接文件ln abc def 建立abc的硬链接文件建立changsha目录下一个软链接文件hunan_changsha,要求链接到/tmp ln -s /hunan/changsha/ /tmp/hunan_changsha软连接与硬链接的区别软连接----快捷方式,会占用inode与block硬链接---一个文件两个名字,除了文件名之外所有信息都一模一样++++++。