admin02-创建目录/文件、别名、删除、移动、复制

1、创建目录: mkdir

mkdir  [-p]  [/路径/]目录名

mkdir可以创建多个参数,即多个目录

[root@localhost ~]# mkdir /opt/whj /mnt/whj/ /root/whj     #创建多个目录

[root@localhost ~]# ls /opt/

rh  whj

[root@localhost ~]# ls /mnt/

whj

[root@localhost ~]# ls /root/

anaconda-ks.cfg      whj  模板  图片  下载  桌面

initial-setup-ks.cfg  公共  视频  文档  音乐

创建多个层次目录时 必须带有-p 选项,否则无法创建父目录

[root@localhost ~]# mkdir /opt/whj/aa/bb/cc

mkdir: 无法创建目录"/opt/whj/aa/bb/cc": 没有那个文件或目录

[root@localhost ~]# mkdir -p /opt/whj/aa/bb/cc/dd

[root@localhost ~]# ls /opt/whj/

aa

[root@localhost ~]# ls /opt/whj/aa/

bb

***********************************************************************

2、创建文件:touch

[root@localhost ~]# touch /opt/whj/test.txt

[root@localhost ~]# ls /opt/whj/

aa  test.txt

**********************************************************************

3、为了简化比较长的命令

alias   别名=‘执行命令’

[root@localhost ~]# ls -lhd /root/

dr-xr-x---. 15 root root 4.0K 7月  21 11:45 /root/

[root@localhost ~]# alias myls='ls -lhd'   #设置别名

[root@localhost ~]# myls  /root/

dr-xr-x---. 15 root root 4.0K 7月  21 11:45 /root/

系统的别名:

[root@localhost ~]# alias

alias cp='cp -i'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

alias grep='grep --color=auto'

alias l.='ls -d .* --color=auto'

alias ll='ls -l --color=auto'

alias ls='ls --color=auto'

alias mv='mv -i'

alias myls='ls -lhd'

alias rm='rm -i'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

别名的优先级高于命令,当别名与命令重名了,执行的是别名

别名最好不要和系统的命令相同,一旦重复,则以别名为准

[root@localhost ~]# unalias myls   #取消别名

[root@localhost ~]# myls /root/   #别名一旦取消,功能会失效

bash: myls: 未找到命令...

例题:

[root@localhost ~]# alias hn='hostname'  # 设置别名

[root@localhost ~]# hn

localhost.localdomain

[root@localhost ~]# unalias hn  #取消别名

[root@localhost ~]# hn

bash: hn: 未找到命令...

**********************************************************************

4、删除:rm — Remove

– 格式:rm [选项]... 文件或目录...

 -r:递归删除(含目录),连通目录本身,一层一层删除,删除一个目录时 必须带有-r

-f:强制删除,不提示(与-i相对)

[root@localhost ~]# alias rm   #别名

alias rm='rm -i' 

[root@localhost ~]# rm -r /opt/whj/aa

rm:是否进入目录"/opt/whj/aa"? y

rm:是否进入目录"/opt/whj/aa/bb"? y

rm:是否进入目录"/opt/whj/aa/bb/cc"? y

rm:是否删除目录 "/opt/whj/aa/bb/cc/dd"?y

rm:是否删除目录 "/opt/whj/aa/bb/cc"?

rm:是否删除目录 "/opt/whj/aa/bb"?

rm:是否删除目录 "/opt/whj/aa"?

[root@localhost ~]# mkdir -p /opt/whj/aa/bb/cc/dd

[root@localhost ~]# rm -rf /opt/whj/aa   #-f 强制删除,不会出现上面的提示

[root@localhost ~]# ls /opt/whj/

 test.txt

[root@localhost ~]# rm -rf /opt/*  #删除/opt/目录下所有内容

[root@localhost ~]# ls /opt/

注意:rm –rf 在根目录下慎用

********************************************************************************************8

5、移动/改名

• mv — Move (让原文件消失)

– 格式: mv   [选项]    原文件     目标路径

            -f  强制覆盖

重命名: 路径不变的移动

[root@localhost ~]# touch /opt/1.txt   # 创建文件

[root@localhost ~]# mkdir /opt/whj   #创建目录

[root@localhost ~]# ls /opt/  

1.txt  whj

[root@localhost ~]# mv /opt/1.txt /opt/whj   # 将1.txt文件移动到whj目录中

[root@localhost ~]# ls /opt/

whj

[root@localhost ~]# ls /opt/whj/

1.txt

[root@localhost ~]# touch /opt/1.txt

[root@localhost ~]# mv -f /opt/1.txt /opt/whj #当有相同文件时,会强制覆盖

[root@localhost ~]# ls /opt

whj

[root@localhost ~]# ls /opt/whj/

1.txt 

[root@localhost ~]# mv /opt/whj  /opt/student     # 将whj目录名重命名为student,若位置不变相当于改名

[root@localhost ~]# ls /opt/

student

***********************************************************************************************

6、复制,拷贝

•cp — Copy

     – 格式:cp [选项]... 原文件...     目标路径

• 常用命令选项

     – -r:递归,复制目录时必须有此选项

    – -f:强制覆盖,不提示(与-i想对)

     – -p:保持原文件的权限、修改时间等属性不变

mv 和cp支持2个以上参数

[root@localhost ~]# cp -r /etc/passwd /etc/shadow /opt/student/ /mnt  #始终都是把最后一个参数当做是目标文件,中间参数当做是原文件

[root@localhost ~]# rm -rf /opt/*

[root@localhost ~]# cd /opt/

[root@localhost opt]# cp /etc/passwd  .

[root@localhost opt]# ls

passwd

[root@localhost opt]# cp /etc/fstab /opt

[root@localhost opt]# ls

fstab  passwd

[root@localhost opt]# cp -r /boot /opt

[root@localhost opt]# ls

boot  fstab  passwd

[root@localhost opt]# \cp -r /boot /opt

[root@localhost opt]# ls

boot  fstab  passwd

[root@localhost opt]# ls -ld /home/student/    #student用户

drwx------. 3 student student 78 7月  21 11:06 /home/student/

[root@localhost opt]# ls  -ld /opt/passwd  #root用户

-rw-r--r--. 1 root root 2101 7月  21 12:25 /opt/passwd

[root@localhost opt]# cp -p /opt/passwd  /home/student/  #保持原文件的权限、修改时间等属性不变的复制

[root@localhost opt]# ls -ld /home/student/passwd

-rw-r--r--. 1 root root 2101 7月  21 12:25 /home/student/passwd   #和上面文件属性比较,保持原文件的权限、修改时间等属性不变

********************************************************************************************************

例题:

在当前目录下创建一个子目录dir1

将文件夹/boot/grub2/ 复制到目录dir1下

将目录/root/ 下以 .cfg 结尾的文件复制到dir1下

将文件/etc/redhat-release复制到 /root/ 下,同时改名为version.txt

将文件/root/version.txt 移动到dir1目录下

删除dir1 目录下的 grub2 子目录

[root@localhost ~]# mkdir /dir1

[root@localhost ~]# cp -r /boot/grub2/  /dir1

[root@localhost ~]# ls /dir1/

grub2

[root@localhost ~]# cp  /root/*.cfg  /dir1

[root@localhost ~]# ls /dir1/

anaconda-ks.cfg  grub2  initial-setup-ks.cfg

[root@localhost ~]# cp  /etc/redhat-release  /root/version.txt

[root@localhost ~]# cat /root/version.txt

CentOS Linux release 7.4.1708 (Core)

[root@localhost ~]# mv /root/version.txt /dir1

[root@localhost ~]# ls /dir1/

anaconda-ks.cfg  grub2  initial-setup-ks.cfg  version.txt

[root@localhost ~]# ls /dir1/grub2/

device.map  fonts  grub.cfg  grubenv  i386-pc  locale

[root@localhost ~]#  rm -rf /dir1/grub2/

[root@localhost ~]# ls /dir1/

anaconda-ks.cfg  initial-setup-ks.cfg  version.txt

注意:养成良好习惯,每写完一个要及时检查结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。