Linux 下經常使用命令集錦--待續

一、查看系統版本及位數linux

系統版本
方法一:
#lsb_release -a
--該命令適用於全部的linux,包括Redhat、SuSE、Debian等發行版
方法二:
#cat /etc/xxx-release 
---XX爲發行版名稱。如 centos-release
方法三:
#cat /etc/issue
shell


位數
方法一:
#uname -r
方法二:
#more /proc/version

編程

二、修改文件歸屬用戶和組centos

1、基本知識函數

  在Linux中,建立一個文件時,該文件的擁有者都是建立該文件的用戶。該文件用戶能夠修改該文件的擁有者及用戶組,固然root用戶能夠修改任何文件的擁有者及用戶組。在Linux中,對於文件的權限(rwx),分爲三部分,一部分是該文件的擁有者所擁有的權限,一部分是該文件所在用戶組的用戶所擁有的權限,另一部分是其餘用戶所擁有的權限。對於文件的權限請參考《Linux的chmod命令ui

   文件(含文件夾,下同)的權限,在shell中能夠經過chmod命令來完成,關於此請參考Linux的chmod命令在 shell 中,能夠使用chown命令來改變文件全部者及用戶組,chgrp命令來改變文件所在用戶組。在 Linux的C程序中,能夠使用chown函數來改變文件全部者,所在用戶組。spa

  另外,在shell中,要修改文件當前的用戶必須具備管理員root的權限。能夠經過su命令切換到root用戶,也能夠經過sudo得到root的權限。code

2、使用chown命令更改文件擁有者blog

在 shell 中,能夠使用chown命令來改變文件全部者。chown命令是change owner(改變擁有者)的縮寫。須要要注意的是,用戶必須是已經存在系統中的,也就是隻能改變爲在 /etc/passwd這個文件中有記錄的用戶名稱才能夠遞歸

chown命令的用途不少,還能夠順便直接修改用戶組的名稱。此外,若是要連目錄下的全部子目錄或文件同時更改文件擁有者的話,直接加上 -R的參數便可。

基本語法:

chown [-R] 帳號名稱 文件目錄

chown [-R帳號名稱:用戶組名稱 文件目錄

參數

-R : 進行遞歸( recursive )的持續更改,即連同子目錄下的全部文件、目錄

都更新成爲這個用戶組。經常用在更改某一目錄的狀況。

示例1

[root@localhost home]# touch testfile //由 root 用戶建立文件 

[root@localhost home]# ls testfile –l 

-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的擁有者及擁有者級均爲 root 

[root@localhost home]# chown yangzongde testfile //修改文件擁有者爲 yangzongde 

[root@localhost home]# ls testfile -l 

-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件擁有者爲 yangzongde,但組仍爲 root 

示例2

chown bin install.log

ls -l

-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

chown root:root install.log

ls -l

-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3、使用chgrp命令更改文件所屬用戶組

在shell中,能夠使用chgrp命令來改變文件所屬用戶組,該命令就是change group(改變用戶組)的縮寫。須要注意的是要改變成爲的用戶組名稱,必須在 /etc/group裏存在,不然就會顯示錯誤。

基本語法:

chgrp [-R用戶組名稱 dirname/filename ...

參數:

-R : 進行遞歸( recursive )的持續更改,即連同子目錄下的全部文件、目錄

都更新成爲這個用戶組。經常用在更改某一目錄的狀況。

示例3

[root@localhost home]# ls testfile -l 

-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件擁有者爲 yangzongde,但組爲 root 

[root@localhost home]# chgrp yangzongde testfile //修改擁有者組爲 yangzongde 

[root@localhost home]# ls testfile -l 

-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile 

[root@localhost home]# chown root:root testfile // 使用 chown 一次性修改擁有者及組 

[root@localhost home]# ls testfile -l 

-rw--w--w- 1 root root 0 Jun 7 19:35 testfile 

示例4

[root@linux ~]# chgrp users install.log

[root@linux ~]# ls -l

-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log

示例5

更改成一個 /etc/group不存在的用戶組

[root@linux ~]# chgrp testing install.log

chgrp: invalid group name `testing' <== 出現錯誤信息~找不到這個用戶組名~

4、chown 函數的使用

在Linux 的C 應用編程中,能夠使用 chown 函數來修改文件的擁有者及擁有者組。此函數聲明以下: 

/usr/include/unistd.h文件中

/* Change the owner and group of FILE. */ extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)__THROW __nonnull ((1)) __wur;

此函數的第一個參數爲欲修改用戶的文件,第二個參數爲修改後的文件擁有者,第三個參數爲修改後該文件擁有者所在的組。


對於已打開的文件,使用 fchown 函數來修改。其第一個參數爲已打開文件的文件描述符,其餘同 chown 函數。該函數聲明以下: 

/* Change the owner and group of the file that FD is open on. */ extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __THROW __wur;

對於鏈接文件,則能夠使用 lchown 函數。其參數同於 chown 函數。 

/* Change owner and group of FILE, if it is a symbolic link the ownership of the symbolic link is changed. */ extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) __THROW __nonnull ((1)) __wur;

以上這 3 個函數若是執行成功,將返回 0,不然返回-1。

相關文章
相關標籤/搜索