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