文章目录
- 1. cp命令
- 2. mv命令
- 3. rename命令了解
- 4. rm命令
- 5. echo命令
- 6. cat命令
- 7. more命令
- 8. less命令
1. cp命令
复制,拷贝
语法:
命令 源文件 目标目录
选项:
-r #递归复制 复制目录时所使用的
-p #保持源文件属性
-d #复制的时候保持软连接
-a === -pdr
-t #把源文件的位置根目标目录的位置进行调换 在批量拷贝文件时使用
-i #当拷贝的文件在目标目录已经存在时,提示是否覆盖 系统自带的别名
[root@qls ~]# cp /etc/hosts /root
[root@qls ~]# cp /etc/passwd ./
[root@qls ~]# cp /etc/resolv.conf .
[root@qls ~]# ll
total 12
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf
[root@qls ~]# cp /opt/ ./
cp: omitting directory ‘/opt/’
[root@qls ~]# cp -r /opt/ ./
[root@qls ~]# ll
total 12
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf
[root@qls ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Jul 6 02:14 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
[root@qls ~]# cp /etc/grub2.cfg ./
[root@qls ~]# ll
total 20
-rw-r--r--. 1 root root 4229 Jul 9 09:16 grub2.cfg
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf
[root@qls ~]# rm -f grub2.cfg
[root@qls ~]# cp -d /etc/grub2.cfg ./
[root@qls ~]# ll
total 12
lrwxrwxrwx. 1 root root 22 Jul 9 09:16 grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf
[root@qls ~]# cp -t ./ /etc/fstab
[root@qls ~]# ll
total 16
lrwxrwxrwx. 1 root root 7 Jul 6 02:13 bin -> usr/bin
-rw-r--r--. 1 root root 501 Jul 9 09:21 fstab
lrwxrwxrwx. 1 root root 22 Jul 9 09:16 grub2.cfg -> ../boot/grub2/grub.cfg
-rw-r--r--. 1 root root 158 Jul 9 09:11 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:14 opt
-rw-r--r--. 1 root root 873 Jul 9 09:11 passwd
-rw-r--r--. 1 root root 51 Jul 9 09:11 resolv.conf
[root@qls ~]# cp /etc/hosts ./
cp: overwrite ‘./hosts’? n
[root@qls ~]# alias
alias cp='cp -i'
#强制覆盖不提示 临时取消别名
[root@qls ~]# \cp /etc/hosts ./
2. mv命令
#当文件已经存在时,移动的时候,提示是否覆盖目标文件 系统自带别名
-f #强制覆盖,不提示
-t #把源文件的位置跟目标目录的位置进行调换
[root@qls ~]# ll /opt/
total 12
-rw-r--r--. 1 root root 501 Jul 9 09:28 fstab
-rw-r--r--. 1 root root 158 Jul 9 09:28 hosts
-rw-r--r--. 1 root root 51 Jul 9 09:28 resolv.conf
[root@qls ~]# mv /opt/hosts ./
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 09:28 hosts
[root@qls ~]# ll /opt/
total 8
-rw-r--r--. 1 root root 501 Jul 9 09:28 fstab
-rw-r--r--. 1 root root 51 Jul 9 09:28 resolv.conf
[root@qls ~]# cp -r /mnt/ /opt/
[root@qls ~]# ll /opt/
total 8
-rw-r--r--. 1 root root 501 Jul 9 09:28 fstab
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mnt
-rw-r--r--. 1 root root 51 Jul 9 09:28 resolv.conf
[root@qls ~]# mv /opt/mnt/ ./ #在移动目录的时候,不需要加任何的选项
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 09:28 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mnt
[root@qls ~]# cp /etc/hosts /opt/
[root@qls ~]# ll /opt/
total 12
-rw-r--r--. 1 root root 501 Jul 9 09:28 fstab
-rw-r--r--. 1 root root 158 Jul 9 10:00 hosts
-rw-r--r--. 1 root root 51 Jul 9 09:28 resolv.conf
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 09:28 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mnt
[root@qls ~]# mv /opt/hosts ./ #文件已经存在时,提示是否覆盖
mv: overwrite ‘./hosts’? n
[root@qls ~]# 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'
#强制覆盖不提示
[root@qls ~]# \mv /opt/hosts ./
#强制覆盖不提示
[root@qls ~]# mv -f /opt/hosts ./
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 10:00 hosts
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mnt
[root@qls ~]# ll /opt/
total 8
-rw-r--r--. 1 root root 501 Jul 9 09:28 fstab
-rw-r--r--. 1 root root 51 Jul 9 09:28 resolv.conf
[root@qls ~]# mv -t /opt/ ./hosts
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mnt
[root@qls ~]# ll /opt/
total 12
-rw-r--r--. 1 root root 501 Jul 9 09:28 fstab
-rw-r--r--. 1 root root 158 Jul 9 10:00 hosts
-rw-r--r--. 1 root root 51 Jul 9 09:28 resolv.conf
#在移动文件或者目录的过程中,修改了名称
[root@qls ~]# mv mnt/ mot
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mot
[root@qls ~]# mv /opt/hosts ./host
[root@qls ~]# ll
3. rename命令了解
利用替换字符串的方式进行重命名
[root@qls ~]# rename test oldboy test.txt
[root@qls ~]# ll
4. rm命令
命令特别的危险
选项:
-i #在删除文件的时候,提示你是否确认删除 系统别名
-f #强制删除不提示
-r #删除目录使用 递归删除
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 10:00 host
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mot
-rw-r--r--. 1 root root 0 Jul 9 10:08 oldboy.txt
[root@qls ~]# rm host
rm: remove regular file ‘host’? n
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 10:00 host
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mot
-rw-r--r--. 1 root root 0 Jul 9 10:08 oldboy.txt
[root@qls ~]# 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 rm='rm -i'
[root@qls ~]# rm -f host
[root@qls ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Jul 9 09:59 mot
-rw-r--r--. 1 root root 0 Jul 9 10:08 oldboy.txt
[root@qls ~]# rm -f mot/
rm: cannot remove ‘mot/’: Is a directory
[root@qls ~]# rm -rf mot/
[root@qls ~]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 9 10:08 oldboy.txt
[root@qls ~]# ll
total 4
-rw-r--r--. 1 root root 158 Jul 9 10:31 hosts
-rw-r--r--. 1 root root 0 Jul 9 10:08 oldboy.txt
[root@qls ~]# rm -rf ./* #删除目录下的所有 排除 隐藏文件
5. echo命令
#打印你所要输出的内容 打印变量的值 创建新文件 修改文件 输出加上颜色 脚本中使用的多
选项:
-n #不自动换行
-e #支持一些特殊字符的使用
\n #换行符
\t #tab键
[root@qls ~]# echo hello world
hello world
[root@qls ~]# echo -n hello world
hello world[root@qls ~]#
#定义和打印变量
[root@qls ~]# Name=qls
[root@qls ~]# Name
-bash: Name: command not found
[root@qls ~]# echo $Name
qls
[root@qls ~]# echo $PWD
/root
[root@qls ~]# cd /opt/
[root@qls opt]# echo $PWD
/opt
#创建新文件
> #标准输出重定向 如果文件不存在,会自动创建,如果文件存在,会首先把文件的内容清空,然后再把你要输出的内容重定向进去
[root@qls ~]# echo 1 > test.txt
[root@qls ~]# ll
total 8
-rw-------. 1 root root 1429 Jul 6 02:17 anaconda-ks.cfg
-rw-r--r--. 1 root root 2 Jul 9 10:56 test.txt
[root@qls ~]# cat test.txt
1
[root@qls ~]# echo 2 > test.txt
[root@qls ~]# cat test.txt
2
>> #标准输出追加重定向 如果文件不存在,会自动创建,如果文件存在,会把你要输出的内容追加到文件的底部
[root@qls ~]# echo 3 >> test.txt
[root@qls ~]# cat test.txt
2
3
[root@qls ~]# echo -e "hello\nworld"
hello
world
[root@qls ~]# echo -e "1\n2\n3"
1
2
3
[root@qls ~]# echo -e "1\n2\n3" > oldboy.txt
[root@qls ~]# cat oldboy.txt
1
2
3
字颜色:30—–37
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
字背景颜色范围:40—–47
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
6. cat命令
#显示文件内容 把文件内容全部显示出来 创建新文件 修改文件 合并文件
选项:
-n #显示文件时,显示文件的行号
-A #给显示的文件内容的每行结尾加上一个标识符
[root@qls ~]# cat passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
[root@qls ~]# cat -n passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
[root@qls ~]# cat -A passwd
root:x:0:0:root:/root:/bin/bash$
bin:x:1:1:bin:/bin:/sbin/nologin$
daemon:x:2:2:daemon:/sbin:/sbin/nologin$
adm:x:3:4:adm:/var/adm:/sbin/nologin$
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
sync:x:5:0:sync:/sbin:/bin/sync$
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
[root@qls ~]# echo "123456 " >> pass.txt
[root@qls ~]# cat pass.txt
123456
[root@qls ~]# cat -A pass.txt
123456 $
[root@qls ~]# hostname -I
10.0.0.100
[root@qls ~]# hostname -I | cat -A
10.0.0.100 $
# << 标识符限定输入重定向 命令从标准输入中输入,直到遇到标识符的分解符结束
[root@qls ~]# cat >123.txt<<EOF
> 123
> 456
> 789
> EOF
[root@qls ~]# cat 123.txt
123
456
789
[root@qls ~]# cat >>123.txt<<oldboy
> 000
> oldboy
[root@qls ~]# cat 123.txt
123
456
789
000
cat >456.txt<<EOF
123
456
789
EOF
#将多个文件合并为一个文件
[root@qls ~]# cat pass.txt
123456
[root@qls ~]# cat test.txt
2
3
[root@qls ~]# cat pass.txt test.txt
123456
2
3
[root@qls ~]# cat pass.txt test.txt > new.txt
[root@qls ~]# cat new.txt
123456
2
3
[root@qls ~]# cp /etc/services ./
7. more命令
#分页显示文件内容 文件显示完成之后,会自动退出
选项:
-num #num是数字 指定一页显示多少行
+num #num是数字 指定从第几行开始显示文件内容
空格或者f键 #向下翻页
b键 #向上翻页
回车 #向下一行
h #帮助信息
q #退出
/xxx #搜索你要搜索的内容 搜索出来的内容不会高亮显示
n #向下查找 不能向上查找
= #显示当前光标所在的行号
[root@qls ~]# more services
[root@qls ~]# more -1 services
# /etc/services:
--More--(0%)
[root@qls ~]# more +5 services
# IANA services version: last updated 2013-04-10
#
# Note that it is presently the policy of IANA to assign a single well-known
8. less命令
#分页显示文件内容 文件显示完成之后,不会自动退出
选项:
-N #显示文件内容的时候,加上行号
-i #在搜索的时候,忽略大小写
空格或者f键 #向下翻页
b键 #向上翻页
回车 #向下一行
q #退出
h #显示帮助
/xxxx #搜索指定的内容 会把搜索出来的内容高亮显示
n #向下查找
N #向上查找
= #显示当前页的内容是由哪些行组成的 显示总行数
显示文件从开头到当前行总共显示了多少字节内容 总字节大小
[root@qls ~]# less -N services
[root@qls ~]# less -i services