Linux命令——目录操作,用户管理

一、目录操作命令

1.1 pwd 命令 以绝对路径的方式显示用户当前工作目录

 命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用 / 分隔。
第一个 / 表示根目录,最后一个目录是当前目录。
执行 pwd 命令可立刻得知您目前所在的工作目录的绝对路径名称。

语法 :

pwd(选项)

选项:
--help:显示帮助信息;
--version:显示版本信息。 

1.2 mkdir 命令 用来创建目录

 该命令创建由"参数"命名的目录。

如果在目录名的前面没有加任何路径名,则在当前目录下创建由"参数"指定的目录;
如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。
在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

语法:

mkdir (选项)(参数)

选项 :

  • -Z:设置安全上下文,当使用SELinux时有效;
  • -m<目标属性>或--mode<目标属性> :建立目录的同时设置目录的权限;
  • -p或--parents :若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
  • --version :显示版本信息。

参数
目录:指定要创建的目录列表,多个目录之间用空格隔开。

实例
(1)在目录/usr/meng 下建立子目录 test,并且只有文件主有读、写和执行权限,其他人无权访问

mkdir -m 700 /usr/meng/test

(2)在当前目录中建立bin 和bin下的shell_01目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问

mkdir -p-m 750 bin/shell_01
创建文件
$ touch a.txt            #创建一个名为a.txt的文件

$ echo > b.txt           #创建一个名为b.txt的文件

$ echo "" | tee c.txt    #创建一个名为c.txt的文件

 1.3 cd 命令 用来切换工作目录至"参数"

其中"参数"表示法可为绝对路径或相对路径。
若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
另外,~ 也表示为 home directory 的意思,. 则是表示目前所在的目录,.. 则表示目前目录位置的上一层目录。

语法:

cd (选项) (参数)

选项:

  • -p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
  • -L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
  • - 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。 

实例

cd   #进入用户主目录;
cd ~  #进入用户主目录;
cd -  #返回进入此目录之前所在的目录;
cd ..  #返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../..  #返回上两级目录;
cd !$  #把上个命令的参数作为cd参数使用。 

1.4 ls 命令 用来显示目标列表

ls命令是在Linux中使用率较高的命令。

ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。 

语法:
ls(选项)(参数)

选项:

  • -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
  • -A:显示除影藏文件“.”和“..”以外的所有文件列表;
  • -C:多列显示输出结果。这是默认选项;
  • -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
  • -F:在每个输出项后追加文件的类型标识符,具体含义:“”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
  • -b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
  • -c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
  • -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
  • -f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
  • -i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
  • --file-type:与“-F”选项的功能相同,但是不显示“”;
  • -k:以KB(千字节)为单位显示文件大小;
  • -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
  • -m:用“,”号区隔每个文件和目录的名称;
  • -n:以用户识别码和群组识别码替代其名称;
  • -r:以文件名反序排列并输出目录内容列表;
  • -s:显示文件和目录的大小,以区块为单位;
  • -t:用文件和目录的更改时间排序;
  • -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
  • -R:递归处理,将指定目录下的所有文件及子目录一并处理;
  • --full-time:列出完整的日期与时间;
  • --color[=WHEN]:使用不同的颜色高亮显示不同类型的。

 

 1.5 tree 命令 以树状图列出目录的内容

它会列出指定目录下的所有文件,包括子目录里的文件。
如果Linux下不能使用tree命令,是因为没有安装,安装就行了
用 root 账号执行命令 yum install tree -y

语法:

tree (选项) (参数)

 选项:

  • -a:显示所有文件和目录;
  • -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;
  • -C:在文件和目录清单加上色彩,便于区分各种类型;
  • -d:先是目录名称而非内容;
  • -D:列出文件或目录的更改时间;
  • -f:在每个文件或目录之前,显示完整的相对路径名称;
  • -F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","@","|"号;
  • -g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码;
  • -i:不以阶梯状列出文件和目录名称;
  • -l:<范本样式> 不显示符号范本样式的文件或目录名称;
  • -l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录;
  • -n:不在文件和目录清单加上色彩;
  • -N:直接列出文件和目录名称,包括控制字符;
  • -p:列出权限标示;
  • -P:<范本样式> 只显示符合范本样式的文件和目录名称;
  • -q:用“?”号取代控制字符,列出文件和目录名称;
  • -s:列出文件和目录大小;
  • -t:用文件和目录的更改时间排序;
  • -u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码;
  • -x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该目录予以排除在寻找范围外。

参数:
目录:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

 1.6 rmdir命令 用来删除空目录

rmdir 命令可以从一个目录中删除一个或多个空的子目录。
该命令从一个目录中删除一个或多个子目录,其中“参数”表示目录名。
如果“参数”中没有指定路径,则删除当前目录下由“参数”指定的目录;
如“参数”中包含路径,则删除指定位置的目录。删除目录时,必须具有对其父目录的写权限。

语法:
rmdir (选项) (参数)

选项:

  • -p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
  • --ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
  • -v或-verboes:显示命令的详细执行过程;
  • --help:显示命令的帮助信息;
  • --version:显示命令的版本信息。 

参数:
目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。

 实例
删除子目录shell_01 和其父目录 bin

cd /usr/meng/test
rmdir -p bin/shell_01

 1.7 cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录

它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。
cp 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法:
cp (选项) (参数)

 选项:

  • -a:此参数的效果和同时指定"-dpR"参数相同;
  • -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
  • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  • -i:覆盖既有文件之前先询问用户;
  • -l:对源文件建立硬连接,而非复制文件;
  • -p:保留源文件或目录的属性;
  • -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
  • -s:对源文件建立符号连接,而非复制文件;
  • -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
  • -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  • -b:覆盖已存在的文件目标前将目标文件备份;
  • -v:详细显示命令执行的操作。

 实例

# 把aaa.txt从test目录复制到tartget目录
cp ./test/aaa.txt ./tartget

# 把test 目录下的所有目录和文件都复制到tartget目录下
cp -r ./test ./tartget

 1.8 mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中

mv 命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。
源文件被移至目标文件有两种不同的结果:
① 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
② 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。
如果源文件和目标文件在同一个目录下,mv 的作用就是改文件名。

※ mv 与 cp 的结果不同,mv是文件“搬家”,文件个数并未增加。而 cp对文件进行复制,文件个数增加了。 

语法:
mv (选项) (参数)

选项:

  • --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
  • -b:当文件存在时,覆盖前,为其创建一个备份;
  • -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
  • -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
  • --strip-trailing-slashes:删除源文件中的斜杠“/”;
  • -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
  • --target-directory=<目录>:指定源文件要移动到目标目录;
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。 

参数:
源文件:源文件列表。
目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。 

实例:

# 将文件ex3改名为new1
mv ex3 new1

# 将目录/usr/men中的所有文件移到当前目录(用.表示)中
mv /usr/men/* .

1.9  rm命令 可以删除一个目录中的一个或多个文件或目录

也可以将某个目录及其下属的所有文件及其子目录均删除掉。

语法:
rm (选项)(参数)

 选项:

  • -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
  • -f:强制删除文件或目录;
  • -i:删除已有文件或目录之前先询问用户;
  • -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
  • --preserve-root:不对根目录进行递归操作;
  • -v:显示指令的详细执行过程。

参数:
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。

 实例:

# 交互式删除当前目录下的文件test和example
rm -i test example

rm test n #不删除文件test
rm example y #删除文件example

 二、用户管理命令

 2.1 groupadd命令

用于创建一个新的工作组,新工作组的信息将被添加到系统文件中

语法:
groupadd (选项) (参数)

 选项:

  • -g:指定新建工作组的id;
  • -r:创建系统工作组,系统工作组的组ID小于500;
  • -K:覆盖配置文件“/ect/login.defs”;
  • -o:允许添加组ID号不唯一的工作组。

参数
组名:指定新建工作组的组名。

 实例

# 建立一个新组,并设置组ID加入系统:
groupadd -g 355 linuxde
# 此时在/etc/passwd文件中产生一个组ID(GID)是355的项目。

 2.2 groupdel命令 用于删除指定的工作组

本命令要修改的系统文件包括/ect/group和/ect/gshadow。
若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

 语法:
groupdel (参数)

参数
组:要删除的工作组名。

实例 

# 创建damon工作组
groupadd damon

# 删除这个工作组
groupdel damon

2.3 useradd命令 用于Linux中创建的新的系统用户

 使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
可用cat /etc/passwd 查看注册用户信息。

语法:
useradd(选项)(参数)

选项:

  • -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
  • -d<登入目录>:指定用户登入时的启始目录;
  • -D:变更预设值;
  • -e<有效期限>:指定帐号的有效期限;
  • -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
  • -g<群组>:指定用户所属的群组;
  • -G<群组>:指定用户所属的附加群组;
  • -m:自动建立用户的登入目录;
  • -M:不要自动建立用户的登入目录;
  • -n:取消建立以用户名称为名的群组;
  • -r:建立系统帐号;
  • -s:指定用户登入后所使用的shell;
  • -u:指定用户id。 

参数:
用户名:要创建的用户名。

实例:

# 新建用户加入组:
useradd –g sales jack –G company,employees #-g:加入主要组、-G:加入次要组

# 建立一个新用户账户,并设置ID:
useradd caojh -u 544

 * 需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。

 2.4 userdel 命令 用于删除给定的用户,以及与用户相关的文件

若不加选项,则仅删除用户帐号,而不删除相关文件。

语法:
userdel (选项) (参数)

选项:
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。 

参数:
用户名:要删除的用户名。 

实例:

userdel命令很简单,比如我们现在有个用户linuxde,其家目录位于/var目录中,现在我们来删除这个用户:

# 删除用户linuxde,但不删除其家目录及文件;
userdel linuxde 

# 删除用户linuxde,其家目录及文件一并删除;
userdel -r linuxde

2.5  passwd 命令 用于设置用户的认证信息,包括用户密码、密码过期时间等

系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

语法:
passwd (选项) (参数)

选项:

  • -d:删除密码,仅有系统管理者才能使用;
  • -f:强制执行;
  • -k:设置只有在密码过期失效后,方能更新;
  • -l:锁住密码;
  • -s:列出密码的相关信息,仅有系统管理者才能使用;
  • -u:解开已上锁的帐号。 

参数:
用户名:需要设置密码的用户名。 

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI天任

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值