一、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
|