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
注意:养成良好习惯,每写完一个要及时检查结果