chown命令是用来更改一个文件或目录的全部者和所属组的命令。该命令有一个跟chmod用法同样的参数 —R 级联更改全部者和所属组。意思就是使用—R命令会将要更改所属组的目录及该目录下全部文件和目录都执行chown。git
chown -R username:groupname filename(dir)vim
[root@localhost tmp]# ls -la chown/ total 0 drwxr-xr-x. 2 root root 18 Jan 30 03:09 . drwxrwxrwt. 9 root root 261 Jan 30 03:09 .. -rw-r--r--. 1 root root 0 Jan 30 03:09 test [root@localhost tmp]# chown -R user1:user1 chown/ [root@localhost tmp]# ls -la chown/ total 0 drwxr-xr-x. 2 user1 user1 18 Jan 30 03:09 . drwxrwxrwt. 9 root root 261 Jan 30 03:09 .. -rw-r--r--. 1 user1 user1 0 Jan 30 03:09 test
能够看到上面的执行结果,不但/tmp/chown/目录的属主属组变为了user1,并且该目录下的test文件的属主属组也变为了user1。下面咱们不加—R的参数再验证一下。windows
[root@localhost tmp]# chown root:root chown/ [root@localhost tmp]# ls -la chown/ total 0 drwxr-xr-x. 2 root root 18 Jan 30 03:09 . drwxrwxrwt. 9 root root 261 Jan 30 03:09 .. -rw-r--r--. 1 user1 user1 0 Jan 30 03:09 test
这个结果能够明显看到,不加-R 的参数,chown目录属主属组变为了root,可是chown/test文件的属主属组依然是user1。centos
useradd命令是用来添加用户的。 useradd username 这个命令建立用户的时候会一并建立一个相同名字的用户组。sass
[root@localhost ~]# useradd zhaoyun [root@localhost ~]# tail -2 /etc/passwd user1:x:1000:1000::/home/user1:/bin/bash zhaoyun:x:1001:1001::/home/zhaoyun:/bin/bash
如上面命令所示,useradd zhaoyun 就给系统添加了一个zhaoyun的帐户,查看是否添加成功,可使用 tail-2 /etc/passwd 命令来查看最后一行是否有了zhaoyun这一记录,有了就表示建立成功了。bash
groupadd命令是用来添加组的命令的,用法跟useradd同样。less
tail命令是用来查看一个文件最后几行的命令,不加参数默认是查看最后十行,能够经过tail -2 filename 用来查看文件最后两行的内容。ide
id命令能够用来查看一个用户属于哪一个组,经过该命令的执行结果咱们能够看到一个用户不但有一个主组,还有一个附属组。工具
[root@localhost ~]# id zhaoyun uid=1001(zhaoyun) gid=1001(zhaoyun) groups=1001(zhaoyun)
history命令是用来查看命令历史的命令,!XX的用法是能够运行XX开头的最近的一次命令。ui
[root@localhost ~]# history 79 ls -la chown/ 80 cd 81 useradd zhaoyun 82 tail /etc/passwd 83 tail -2 /etc/passwd 84 id zhaoyun 85 di /tmp/chown/test 86 id /tmp/chown/test 87 history [root@localhost ~]# !ls ls -la chown/ ls: cannot access chown/: No such file or directory
硬连接文件与源文件是同一个iNode号的,因此硬连接文件既不能跨磁盘也不能跨分区。给一个文件作硬连接能够有防误删除的功能,可是由于硬连接文件和源文件里的内容是同时变动的,没有错误恢复的做用。
[root@localhost chown]# ln test test2 [root@localhost chown]# ls test test2
硬连接相似于一个教室的两个门,无论学生、课桌、工具经过哪一个门进或出,透过两个门看教室的内容是一致的。
软连接至关于windows里面的快捷方式,它的命令格式:ln -s 源文件 快捷方式 。作连接跟其余命令不太同样的是源文件放在前面。软连接既能够做用在目录上,亦能够做用在文件上,还能够跨磁盘跨分区作软连接。
当咱们有一个文件特别比较大,还源源不断的写入数据,并且该文件所在的分区要容量不足时咱们能够作一个软连接,将文件实际写入的位置转移到另外一个分区下。
yum工具是一个能自动解决依赖关系的工具
[root@localhost ~]# yum install -y net-tool
[root@localhost ~]# yum remove net-tools
[root@localhost ~]# yum list |grep yum yum.noarch 3.4.3-161.el7.centos @anaconda yum-metadata-parser.x86_64 1.1.4-10.el7 @anaconda yum-plugin-fastestmirror.noarch 1.1.31-50.el7 @anaconda PackageKit-yum.x86_64 1.1.10-1.el7.centos base PackageKit-yum-plugin.x86_64 1.1.10-1.el7.centos base kabi-yum-plugins.noarch 1.0-3.el7.centos base nextgen-yum4.noarch 2.7.5-19.el7_6 extras yum-NetworkManager-dispatcher.noarch 1.1.31-50.el7 base yum-cron.noarch 3.4.3-161.el7.centos base yum-langpacks.noarch 0.4.2-7.el7 base yum-plugin-aliases.noarch 1.1.31-50.el7 base yum-plugin-auto-update-debug-info.noarch 1.1.31-50.el7 base
[root@localhost ~]# yum grouplist Loaded plugins: fastestmirror There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Loading mirror speeds from cached hostfile * base: mirror.jdcloud.com * extras: mirror.jdcloud.com * updates: mirror.jdcloud.com Available Environment Groups: Minimal Install Compute Node Infrastructure Server File and Print Server Basic Web Server Virtualization Host Server with GUI GNOME Desktop KDE Plasma Workspaces Development and Creative Workstation Available Groups: Compatibility Libraries Console Internet Tools Development Tools Graphical Administration Tools Legacy UNIX Compatibility Scientific Support Security Tools Smart Card Support System Administration Tools System Management Done
5.yum list | grep wget列出包名中含有wget字符的包
[root@localhost ~]# yum list |grep wget wget.x86_64 1.14-18.el7 base
6 yum provides /*/ifcofnig 搜索一个已知的命令是由哪一个包安装的
[root@localhost ~]# yum provides /*/ifconfig Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.jdcloud.com * extras: mirror.jdcloud.com * updates: mirror.jdcloud.com net-tools-2.0-0.24.20131004git.el7.x86_64 : Basic networking tools Repo : base Matched from: Filename : /sbin/ifconfig net-tools-2.0-0.24.20131004git.el7.x86_64 : Basic networking tools Repo : @base Matched from: Filename : /sbin/ifconfig
经过一个实验来看rpm工具的用法。
[root@localhost Packages]# ls acl-2.2.51-14.el7.x86_64.rpm libndp-1.2-7.el7.x86_64.rpm aic94xx-firmware-30-6.el7.noarch.rpm libnetfilter_conntrack-1.0.6-1.el7_3.x86_64.rpm aide-0.15.1-13.el7.x86_64.rpm libnfnetlink-1.0.1-4.el7.x86_64.rpm alsa-firmware-1.0.28-2.el7.noarch.rpm libnl-1.1.4-3.el7.x86_64.rpm alsa-lib-1.1.6-2.el7.x86_64.rpm libnl3-3.2.28-4.el7.x86_64.rpm alsa-tools-firmware-1.1.0-1.el7.x86_64.rpm libnl3-cli-3.2.28-4.el7.x86_64.rpm atk-2.28.1-1.el7.x86_64.rpm libnotify-0.7.7-1.el7.x86_64.rpm audit-2.8.4-4.el7.x86_64.rpm libpcap-1.5.3-11.el7.x86_64.rpm audit-libs-2.8.4-4.el7.x86_64.rpm libpciaccess-0.14-1.el7.x86_64.rpm authconfig-6.2.8-30.el7.x86_64.rpm libpipeline-1.2.3-3.el7.x86_64.rpm
软件包包文件通常是这个格式: teamd(包名)-1.25(主版本.次版本)-4.el7(发布版本).x86_64(平台_位数).rpm(后缀名)
[root@localhost Packages]# rpm -ivh spamassassin-3.3.2-18.el7.x86_64.rpm 错误:依赖检测失败: perl(Archive::Tar) 被 spamassassin-3.3.2-18.el7.x86_64 须要 perl(Archive::Tar) >= 1.23 被 spamassassin-3.3.2-18.el7.x86_64 须要 perl(DB_File) 被 spamassassin-3.3.2-18.el7.x86_64 须要
[root@localhost Packages]# rpm -e ppp 错误:依赖检测失败: ppp = 2.4.5 被 (已安裝) NetworkManager-1:0.9.9.1-13.git20140326.4dba720.el7.x86_64 须要
[root@localhost Packages]# rpm -q ppp ppp-2.4.5-33.el7.x86_64 [root@localhost Packages]# rpm -q /usr/bin/ls 未安装软件包 /usr/bin/ls [root@localhost Packages]# rpm -qf /usr/bin/ls coreutils-8.22-11.el7.x86_64 [root@localhost Packages]# rpm -ql ppp /etc/logrotate.d /etc/logrotate.d/ppp /etc/pam.d/ppp
在实际操做中咱们会发现,rpm的查询的用法是比较好用的,可是若是用它来安装或者卸载则会很麻烦,由于它不会自动处理依赖关系,须要咱们手动一个一个解决依赖和被依赖包的安装卸载等。