学习Red Hat 笔记3

本文详细介绍了Linux下的ls命令及其各种选项的功能,并提供了如何显示彩色目录列表的方法。此外,还介绍了如何进行用户管理,包括添加、删除及编辑用户账户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值