Linux笔记(一份耕耘、一份收获)

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

目录解释: .代表此层目录;  .. 代表父目录;-代表前一个目录;~代表是家目录。

(1)ls命令(显示)

-a:列出所有文件包括隐藏文件

-l:以长格式输出

-d:只列出目录本身而不列出目录内部的文件

-R:连同子目录一同显示出来,递归显示

-h:以字节大小显示,需配合-l一起使用

-t:按mtime排序

(2)cp命令(复制)

-i:提示用户是否覆盖

-f:删除旧的新建

-r:连同子目录一起复制,包括子目录里子目录

-v:显示过程

-d:复制的是链接文件

-u:只复制源比目标新或者目标没有的文件

-p:连同档案的属性一起复制过去,而非使用预设属性

–backup=numbered:复制前先备份原有的

(3)mv命令(移动、改名)

-i:交互

-f:强制复制

-r:连同子目录一起复制,包括子目录里子目录

-v:显示过程

(4)rm命令(删除)—危险命令

-r:连同子目录一起删除

-f:强制删除

-v:显示过程

-i:提示用户

演示:

cd 是切换目录的含义

cd .  切换至当前面目录

cd .. 切换至上一层父目录

ls   列出当前目录的内容或指定目录

ls -a 包含隐藏文件

ls -l 显示额外的信息

ls -d 只显示目录文件

 

pwd  显示当前shell的绝对路径

-P 显示真实物理路径

-L 显示链接路径(默认)

基名:basename  显示结尾最后一个文件路径名

目录名:dirname   除了最后一个文件路径名不显示,其他的路径名都显示

Ctrl+a 跳到字母前端

Ctrl+e 跳到字母后端

Ctrl+s 锁定屏幕

Ctrl+q 取消锁屏

Ctrl+u 删除前面的整行

Ctrl+k 删除后面的整行

alt+r   删除整行

touch  创建空文件

以下三种方法都可以创建以“-”开头的文件

touch -- -a  

touch ./ -a

touch /data/-a

创建”~”开头的文件

touch ‘~liu’

touch  ./ma

rm  删除文件

-i 交互式

-f 强制删除

-r 递归

以下三种方法可以删除以“-”开头的文件

rm  -rf -- -a 

rm –rf ./ -- -a

rm –rf /data/-a

 

cp 复制

-i:覆盖前提示 –n:不覆盖

-r, -R: 递归复制目录及内部的所有内容

-a: 归档,相当于-dR --preserv=all,保留文件的所有属性

-v:显示复制的过程

cp /data/f1  /boot/f2  将data目录下的f1文件复制到boot目录下,起名叫f2

cp /etc/fstab    /etc/fstab. bak  单个文件复制fstab文件起名叫fstab.bak

 

cp /etc/fstab  /etc/profile   .   多个文件复制,目标文件必须是目录

 

复制目录时需要加一个-r

如果复制的目录,复制到目标目录时,目录不存在,将创建的以复制的文件名为目录

cp /boot/grub  /data/grub  -r

如果复制到的目标路径存在同名文件,就会提示错误,无法复制

 

如果有同名目录时,复制的目录就会成为目标文件夹的子目录

 

mv 移动

常用选项:

-i: 交互式

-f: 强制

-b: 目标存在,覆盖前先备份

mv /data/fstab  /boot/    将data 下的文件移动到 boot下

 

mkdir 

mkdir 创建目录

-p: 存在于不报错,且可自动创建所需的各目录

-v: 显示详细信息

-m MODE: 创建目录时直接指定权限

mkdir  -p  dir1/dir2  当dir1为空文件时就可以创建dir2,需要加上-p

ln:  硬链接

ln  f1  f11  给f1创建一个硬链接起名叫f11,文件属性和大小、时间都相同

ln  -s:  软链接

ln -s ../../../data/f2  /d1/d2/d3/f2-link 将f2-link的软连接赋值到f2中

f2所在的目录是 d3,其中f2第一个..对应的是d2,第二个..是d1,第三个..对应的是/

软链接与硬链接区别:

1、硬链接是同一个文件多个名字,软链接不是同一个文件

2、硬链接不能跨分区、设备,软链接可以

3、硬链接的连接数增长,软链接不增长

4、节点编号:硬链接的节点编号相同,软链接不一样

5、原始文件删掉,硬链接的文件可以访问,软链接的原始文件删掉,访问失效

6、软连接的指向文件大小是路径的大小,硬链接的大小就是文件的大小

7、硬链接不支持目录、软链接支持目录

8、相对路径写法不一样,硬链接不能用相对路径,写相对路径就会找不到文件路径,而软链接可以使用相对路径

使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

mkdir -p /tmp/{a1/{a,b},a2}

输出结果:

mkdir -p /tmp/{x,q}/{y,z} 

输出结果:

文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

(1)   文件的元数据有inode号(索引节点号)、文件类型(普通文件、链接文件、目录文件、块设备文件、管道文件等)、ugo权限(user、group、other的rwx权限)、链接数(链接到这个文件的文件个数)、文件所属者(创建者)和所属组(创建者所属组)、时间戳(默认显示mtime)等信息。

(2)   stat命令可以查看时间:

三个时间戳:

access time:访问时间,atime,读取文件内容

modify time: 修改时间, mtime,改变文件内容(数据)

change time: 改变时间, ctime,元数据发生改变

touch [OPTION]... FILE...

-a 仅改变 atime和ctime

-m 仅改变 mtime和ctime

-t [[CC]YY]MMDDhhmm[.ss]

指定atime和mtime的时间戳

touch –a file,可修改当前文件的访问时间

touch  -m file,可修改当前文件的时间

如:touch  f2 新建一个文件

stat  f2  查看当前文件夹被访问时间 修改时间

 

touch  -a  f2  修改访问时间

 

touch  -m  f2  修改当前文件修改时间

 

在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

第一种方法: touch  /tmp/tfile-`date +%F-%T | tr “:” “-”`

第二种方法: touch /tmp/tfile-`date "+%Y-%m-%d-%H-%M-%S"`

 

复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

mkdir  /tmp/mytest1  新建一个mytest1目录

cp  -r  /etc/p*[^0-9]   /tmp/mytest1  然后复制到mytest1目录下

 

创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack

groupadd  tom

groupadd  jack

useradd  -u 5001 –d /tmp/tom –s /bin/zsh  -g  tom –G jack tom

下面是显示指定的家目录和shell目录结果:getent passwd

 

常用的用户以及文件管理命令有哪些,并演示命令以及用法。

用户管理命令

useradd -u指定uid

-g指定主组

-G指定附加组

-c注释

-d指定家目录(不用默认家目录)

-s指定shell

演示:

groupadd  xiao

groupadd  ma

groupadd  liu

groupadd  li

useradd  -g li -G xiao,ma,liu sun    新建一个sun用户,li作为主组,xiao,ma,liu作为附加组。 

 

usermod -u指定新的uid

-g指定新的主组

-G指定新的附加组(加-a保留原有附加组)

-s指定新的shell

-e YYYY-MM-DD:指定用户账号过期日期

演示:

useramod   -G wang liu  将liu加入到wang的附加组

userdel -r删除家目录

-f强制删除用户,即使是正在登陆的用户

id -u显示uid

-g显示gid

-G显示附加组id

su username非登陆切换,不读取目标用户的配置文件

su - username登陆式切换,会读取目标用户的配置文件

 

passwd [OPTIONS] UserName: 修改指定用户的密码

常用选项:

-d:删除指定用户密码

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-f:强制操作

-n mindays:指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限

--stdin:从标准输入接收用户密码

echo "PASSWORD" | passwd --stdin USERNAME

 

创建组

groupadd [OPTION]... group_name

-g GID: 指明GID号;

-r: 创建系统组

CentOS 6: ID<500

CentOS 7: ID<1000

修改和删除组

组属性修改:groupmod

groupmod [OPTION]... group

-n group_name: 新名字

-g GID: 新的GID

组删除:groupdel

groupdel GROUP

更改组密码

组密码:gpasswd

gpasswd [OPTION] GROUP

-a user 将user添加至指定组中

-d user 从指定组中移除用户user

-A user1,user2,... 设置有管理权限的用户列表

newgrp命令:临时切换主组

如果用户本不属于此组,则需要组密码

更改和查看组成员

演示:

gpasswd  -a  wang  li   将li 作为wang的附加组

groupmems [options] [action]

options:

-g, --group groupname 更改为指定组 (只有root)

Actions:

-a, --add username 指定用户加入组

-d, --delete username 从组中删除用户

-p, --purge 从组中清除所有成员

-l, --list 显示组成员列表

groups [OPTION].[USERNAME]... 查看用户所属组列表

演示:

groupmems  -a  liu -g  ma指定将ma 做为liu的附加组 

 

猜你喜欢

转载自www.cnblogs.com/struggle-1216/p/11657729.html