文章目录

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