原文地址:http://lawlietfans.coding.me/blog/2016/03/07/linux-foundation/html
上一篇提到,Linux發行版就是把系統內核、附帶的工具程序以及應用軟件包等打包在一塊兒,組成的一個集合體或者套件。而CentOS是其中一種發行版。 這是Linux操做系統的結構。linux
其結構能夠用kernel、shell和utility三個不一樣層次的同心圓來表示。其中kernel控制着系統運行的各個方面,影響着一個系統的總體性能 咱們平時在Linux的使用中也大可能是和shell、工具(utility)打交道。有了這些工具,程序員在shell命令行下幾乎能夠完成全部想作的工做,也正由於如此,Linux比Windows更加適合遠程管理,由於後者的遠程操做通常在GUI下完成,這無疑影響了服務器端的性能。git
Linux下的工具是很是豐富的,任何一個程序員均可以共享本身作的小工具。若是咱們想要掌握這些工具的使用。最好是系統看書好比《鳥哥的私房菜》。不想看書的話,搜到的有些資料內容比較零散,有的可能像百科同樣,太過於全面[1]。這裏試圖從初學者用的角度來了解、演示一些經常使用管理工具。程序員
1 xshell連上CentOS以後,如何關機重啓呢?如何安裝新軟件?shell
$ sudo shutdown -h
或halt
$ sudo reboot
$ sudo yum install git
2 查看當前目錄的信息vim
ls(list)命令可用來顯示目錄的內容。配合參 數的使用,能以不一樣的方式顯示目錄內容。[4]
格式:ls [參數] [目錄名或文件名]centos
[fsj@vm-centos shit]$ ls a b c d shit.c [fsj@vm-centos shit]$ ll total 0 -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 a -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 b -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 c -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 d -rwxr--r--. 1 fsj fsj 0 Mar 27 13:10 shit.c [fsj@vm-centos shit]$ ll -a total 8 drwxr-x--x. 2 fsj fsj 4096 Mar 27 14:24 . drwxr-xr-x. 3 fsj fsj 4096 Mar 17 22:06 .. -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 a -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 b -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 c -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:07 d -rw-rw-r--. 1 fsj fsj 0 Mar 27 14:24 .hiden -rwxr--r--. 1 fsj fsj 0 Mar 27 13:10 shit.c
其中ll
等價於ls -l
.bash
查看當前路徑服務器
[fsj@vm-centos shit]$ pwd /home/fsj/temp/shit
[fsj@vm-centos shit]$ file a a: ASCII text [fsj@vm-centos shit]$ cp a a-bak [fsj@vm-centos shit]$ ls a a-bak b c d shit.c [fsj@vm-centos shit]$ mv a a-origin [fsj@vm-centos shit]$ ls a-bak a-origin b c d shit.c [fsj@vm-centos shit]$ find a* a-bak a-origin [fsj@vm-centos shit]$ rm a-bak [fsj@vm-centos shit]$ ls a-origin b c d shit.c
[fsj@vm-centos shit]$ cat a-origin aaaaa 2
在終端輸入命令,按回車執行app
[fsj@vm-centos shit]$ man cat
包括前面用到的幾個命令在內,Linux命令能夠分類以下:
vim編輯器是須要CentOS自帶的vi編輯器的增強版,須要下載:# yum install vim
.
這裏簡單舉兩個栗子:
$ vim hello.txt
:wq
,保存並退出試着操做以後會對命令模式與插入模式有直觀的瞭解。
test0
查看該用戶的home目錄:
[root@vm-centos home]# ll -a test0/ total 32 drwx------. 4 test0 test0 4096 Mar 6 19:44 . drwxr-xr-x. 4 root root 4096 Mar 6 19:44 .. -rw-r--r--. 1 test0 test0 18 Jul 24 2015 .bash_logout -rw-r--r--. 1 test0 test0 176 Jul 24 2015 .bash_profile -rw-r--r--. 1 test0 test0 124 Jul 24 2015 .bashrc -rw-r--r--. 1 test0 test0 500 Nov 27 2014 .emacs drwxr-xr-x. 2 test0 test0 4096 Nov 12 2010 .gnome2 drwxr-xr-x. 4 test0 test0 4096 Mar 6 17:00 .mozilla
useradd
新建用戶test1
,並添加密碼[root@vm-centos home]# useradd test1 [root@vm-centos home]# passwd test1 Changing password for user test1. New password: BAD PASSWORD: it is WAY too short BAD PASSWORD: is a palindrome Retype new password: passwd: all authentication tokens updated successfully.
[root@vm-centos home]# ll -a test1/ total 32 drwx------. 4 test1 test1 4096 Mar 27 11:41 . drwxr-xr-x. 5 root root 4096 Mar 27 11:41 .. -rw-r--r--. 1 test1 test1 18 Jul 24 2015 .bash_logout -rw-r--r--. 1 test1 test1 176 Jul 24 2015 .bash_profile -rw-r--r--. 1 test1 test1 124 Jul 24 2015 .bashrc -rw-r--r--. 1 test1 test1 500 Nov 27 2014 .emacs drwxr-xr-x. 2 test1 test1 4096 Nov 12 2010 .gnome2 drwxr-xr-x. 4 test1 test1 4096 Mar 6 17:00 .mozilla
test0-->test1-->root
[test0@vm-centos home]$ su test1 Password: [test1@vm-centos home]$ [test1@vm-centos home]$ su Password: [root@vm-centos home]#
[root@vm-centos home]# userdel test1 userdel: user test1 is currently used by process 3087
刪除失敗,接着參數rf
,強制刪除
[root@vm-centos home]# userdel -rf test1 userdel: user test1 is currently used by process 3087
雖然依然提示test1正在被使用,可是刪除成功了。其中r表示刪除該用戶的home文件夾,f表示強制刪除。
[root@vm-centos home]# userdel -h Usage: userdel [options] LOGIN Options: -f, --force force removal of files, even if not owned by user -h, --help display this help message and exit -r, --remove remove home directory and mail spool -Z, --selinux-user remove SELinux user from SELinux user mapping
Linux下有三類用戶,超級用戶(root)具備操做系統的一切權限,UID值均爲0。普通用戶具備操做系統有限的權限,只能管理本身啓動的進程,UID值500~6000。系統用戶是爲了方便系統管理,知足相應的系統進程對文件屬主的的要求,系統用戶不能登陸,UID值1~499。
這裏新建普通用戶的UID會依次增加,fsj爲500,test0爲501,test1爲502
$ id fsj uid=500(fsj) gid=500(fsj) groups=500(fsj) $ id test0 uid=501(test0) gid=501(test0) groups=501(test0)
[fsj@vm-centos shit]$ ll total 0 [fsj@vm-centos shit]$ touch shit.c [fsj@vm-centos shit]$ ll total 0 -rw-rw-r--. 1 fsj fsj 0 Mar 27 13:10 shit.c
其中第一列-rw-rw-r--
表示當前文件權限,其餘列see also:[4].
這一列的第一個字符表示文件類型。取值包括:
d :目錄 - :文件 l :連接 s :socket p :named pipe b :block device c :character device
剩下9位,3爲一組。格式爲:[屬主權限][屬組用戶權限][其餘用戶權限]
屬主和屬組用戶爲rw-
,有讀、寫權限。
其餘用戶爲r--
,有讀權限。
把前面shit.c權限改成只容許屬主讀寫執行(rwx),其餘用戶只能讀(r).
[fsj@vm-centos shit]$ chmod 744 shit.c [fsj@vm-centos shit]$ ll total 0 -rwxr--r--. 1 fsj fsj 0 Mar 27 13:10 shit.c
744什麼和rwx對應起來的呢?
咱們用二進制來表示是否容許某個權限,容許就置1,不容許就置0,好比777表示全部用戶都有讀、寫、執行權限。 77
7(8進制)=111111
111(2進制),9位都置一,就是全部權限都開。
這裏74
4(8進制)=111100
100(2進制),屬主讀寫執行(rwx),其餘用戶只能讀(r).
換算的時候rwx權重分別看做421那就簡單了,好比rw-
就是110
,也是6
.
修改權限有什麼用呢?當你搞一些配置文件的時候會想起來的~