學習Red Hat 筆記3

一、ls命令

來自http://blog.ccidnet.com/blog-htm-do-showone-uid-12026-type-blog-itemid-187598.html

linux ls命令


默認是不會使用色彩來區別文件的。此方式等於使用了 --color=none 選項。若使用
--color 選項但不指定 WHEN 參數等於 --color=always。當使用 --color=auto 時,
只當輸出至終端機畫面 (tty) 時纔會顯示色彩。

若ls沒有顏色顯示,你可編輯/etc/bashrc 或目錄下的 .bashrc ,加入下列指令:
alias ls='ls -F -N --color=auto' 或 alias ls="ls --color"
要立即生效的話,則執行下列命令:source /etc/bashrc 或 source .bashrc


ls 命令可以說是linux下最常用的命令之一。

-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-b 把文件名中不可輸出的字符用反斜槓加字符編號(就象在C語言裏一樣)的形式列出。
-c 輸出文件的 i 節點的修改時間,並以此排序。
-d 將目錄象文件一樣顯示,而不是顯示其下的文件。
-e 輸出時間的全部信息,而不是輸出簡略信息。
-f -U 對輸出的文件不排序。
-g 無用。
-i 輸出文件的 i 節點的索引信息。
-k 以 k 字節的形式表示文件的大小。
-l 列出文件的詳細信息。
-m 橫向輸出文件名,並以“,”作分格符。
-n 用數字的 UID,GID 代替名稱。
-o 顯示文件的除組信息外的詳細信息。
-p -F 在每個文件名後附上一個字符以說明該文件的類型,“*”表示可執行的普通
文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可輸出的字符。
-r 對目錄反向排序。
-s 在每個文件名後輸出該文件的大小。
-t 以時間排序。
-u 以文件上次被訪問的時間排序。
-x 按列輸出,橫向排序。
-A 顯示除 “.”和“..”外的所有文件。
-B 不輸出以 “~”結尾的備份文件。
-C 按列輸出,縱向排序。
-G 輸出文件的組的信息。
-L 列出鏈接文件名而不是鏈接到的文件。
-N 不限制文件長度。
-Q 把輸出的文件名用雙引號括起來。
-R 列出所有子目錄下的文件。
-S 以文件大小排序。
-X 以文件的擴展名(最後一個 . 後的字符)排序。
-1 一行只輸出一個文件。

--color=no 不顯示彩色文件名
--help 在標準輸出上顯示幫助信息。
--version 在標準輸出上輸出版本信息並退出。

只列出子目錄
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)

計算當前目錄下的文件數和目錄數
下面命令可以分別計算當前目錄下的文件和目錄個數:
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l ----- to count dir

顯示彩色目錄列表
打開/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次啓動bash時就可以像在Slackware裏那樣顯示彩色的目錄列表了, 其中顏色的含義如下:
1. 藍色-->目錄
2. 綠色-->可執行文件
3. 紅色-->壓縮文件
4. 淺藍色-->鏈接文件
5. 灰色-->其他文件

ls -tl --time-style=full-iso sshd
ls -ctl --time-style=long-iso

 

 

 

二、命令模式下的用戶管理

添加用戶:useradd hubei

提示:bash: useradd: command not found

原因:爲什麼useradd不能用,我剛纔明明su root了?
問題說明:
我剛纔使用普通用戶登錄linux的,後來我想添加一個新的用戶,因爲只有root纔有添加新用戶的權利,所以使用su root。然後再使用useradd newuser,接着就出現上面的問題。

通過上網查找資料知道。
首先從環境變量說起,在unix系統裏面, 每個系統用戶都有自己的環境變量來定義自己登陸上來的的SHELL,終端類型,路徑等等,
在LINUX下,BSHELL的用戶登陸後會執行主目錄下的.bash_profile文件,
CSHELL的用戶會執行.cshrc_profile文件,這些文件裏定義了你這個用戶的環境變量。
出現這個問題,有可能是以普通用戶登陸主機,
而此用戶的環境裏面沒有定義系統命令所在的一些路徑,
比如/usr/bin,/usr/sbin等(就象WINDOWS裏面的PATH一樣),
或者在一些情況下TELNET上主機後也會遺失環境變量,這時候你可以做的是:
1. 確定需要此用戶執行系統命令,那麼可以把系統路徑加到該用戶的.bash_profile/.cshrc_profile的PATH裏面。
2. 還是用ROOT用戶執行命令,那麼用命令su - 可以取得ROOT用戶的權限和環境。
(注意,是su -而不是su。因爲su是隻取得ROOT的權限,
    su - 是取得ROOT的權限後還執行ROOT的PROFILE來取得ROOT的環境變量)
我這裏出現問題就是如下這個原因:
su root只是獲得root用戶的權限;
su - root 不僅獲得root用戶的權限,而且還執行root的profile來執行root的環境變量。


文章出處:http://www.diybl.com/course/6_system/linux/Linuxjs/2008926/145760.html

useradd 添加用戶或更新新創建用戶的默認信息

語法:useradd  選項 用戶名
該命令的各選項含義如下:

-c comment    描述新用戶帳號,通常爲用戶全名,comment 爲字符串。
-d home_dir   設置用戶主目錄,默認值爲用戶的登錄名,並放在/home目錄下。
-D            創建新帳號後保存爲新帳號設置的默認信息。
-e expire_date  用 MM/DD/YYYY 格式設置帳號過期日期。
-f inactivity   設置口令失效時間,該值爲 0 使口令失效後帳號立即失效,爲 -1 使該選項失效。
-g group      設置所要創建新用戶所在的基本組,group爲組名。
-k skel_dir   設置框架目錄,該目錄包含用戶的初始配置文件,
              創建用戶時該目錄下的文件都被複制到用戶主目錄下。
-m   自動創建用戶主目錄,並把框架目錄(默認爲/etc/skel)下的文件複製到用戶主目錄下。
-M   不創建用戶主目錄。
-r   允許保留的系統帳號使用用戶ID創建一個新帳號。
-s shell    指定用戶的登錄shell。
-u user_id  設置用戶ID。

 

 

刪除用戶:在ROOT下輸入 userdel -r hubei(用戶帳戶)

 

1。[root @test /root] # userdel -r username
-r     將該賬號的[home directory]與[/var/spool/mail/username] 一併刪除
[root @test /root]# userdel username
只刪除/etc/passwd與/etc/shadow中該賬號的內容
 
2。建立的默認賬號。
[root @test /root]# useradd username
默認賬號的基本設定在/etc/login.defs與/etc/default/useradd這兩個文件中
1>.login.defs
mail_dir /var/spool/mail 郵件默認存放處
pass_max_days 99999 密碼需要更改的時間。
pass_min_days 0 密碼多久需要更改
pass_min_len 5 密碼最小的長度
pass_warn_age 7 密碼失效前幾天的警告信息
uid_min 500 默認賬號最小的uid
uid_max 60000 最大的uid的限制
gid_min 500 gid限制
gid_max 60000 gid限制
create_home yes 是否建立根目錄
當建立賬號時,該賬號的UID會取/etc/passwd中最大的UID+1
2>.useradd內容
group=100 默認的用戶羣組爲100,查看/etc/group時,這個羣組的名稱爲users
home=/home 默認的用戶的根目錄建立的目錄。
inactive=-1 是否啓動,-1表示啓動
expire=5 是否設定到期時間。如果你希望該用戶到期後不允許使用。此項可以設定時間。
shell=/bin/bash 默認shell是什麼。
skel=/etc/skel 用戶根目錄的內容
在這當中可以查看所有用戶cat /etc/passwd
編輯用戶帳戶:
Linux命令:usermod
2007-12-09 15:39

功能說明:修改用戶帳號。
語  法:usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-l <帳號名稱>][-s ][-u ][用戶帳號]
補充說明:usermod可用來修改用戶帳號的各項設定。
參  數:
-c<備註>  修改用戶帳號的備註文字。
-d登入目錄>  修改用戶登入時的目錄。
-e<有效期限>  修改帳號的有效期限。
-f<緩衝天數>  修改在密碼過期後多少天即關閉該帳號。
-g<羣組>  修改用戶所屬的羣組。
-G<羣組>  修改用戶所屬的附加羣組。
-l<帳號名稱>  修改用戶帳號名稱。
-L  鎖定用戶密碼,使密碼無效。
-s  修改用戶登入後所使用的shell。
-u  修改用戶ID。
-U  解除密碼鎖定。

usermod
       usermod - Modify a user account
       usermod [-c comment] [-d home_dir [-m]]
               [-e expire_date] [-f inactive_days]
               [-g initial_group] [-G group [,…]]
               [-l login_name] [-p passwd]
               [-s shell] [-u uid [-o]] [-L|-U] login
Linux命令: groupmod - Modify a group
       groupmod [-g gid [-o]] [-n group_name ] group

DESCRIPTION
       The groupmod command modifies the system account files to reflect the changes that are specified on the command line.
       The options which apply to the groupmod command are

       -g gid The numerical value of the group’s ID. This value must be unique, unless the -o option is used. The value must
              be non-negative. Values between 0 and 99 are typically reserved for system groups. Any files which the old group
              ID is the file group ID must have the file group ID changed manually.

       -n group_name
              The name of the group will be changed from group to group_name.

——————————————————

剛纔我用的命令是:  

usermod -u 301 sshd          #將原uid爲101的用戶sshd,其uid改爲301

groupmod -g 505 crontab #將原gid爲101的用戶,crontab,其gid改爲505

文章來自http://hi.baidu.com/lifeblood/blog/item/cf3b34d3768753033bf3cfdc.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章