Linux命令行基础、目录及文件管理、文本内容操作

一、 环境准备
开启CentOS虚拟机

二、命令行基础
 Linux命令
– 用来实现某一类功能的指令或程序
Linux中执行大多数命令,都要找到命令所对应的程序
– 命令的执行依赖于解释器(默认的解释器程序:/bin/bash)
用户------>解释器------>内核------>硬件

绿色:可以执行的程序
青色:快捷方式
[root@localhost ~]# cat /etc/shells

 命令完整格式
– 命令字 [选项]… [参数1] [参数2]…

]# cat /etc/shells
]# cat --help #查看命令的帮助信息
]# cat -n /etc/shells #显示行号
]# cat -n /etc/passwd
]# cat -n /etc/hosts
]# cat -n /etc/redhat-release

]# ls -l /etc/shells #利用长格式显示(显示详细属性)
]# ls -l /etc/redhat-release
]# ls -l /etc/passwd
]# ls -l /root #显示目录所有内容的详细属性

1EB=1024PB
1PB=1024TB
1TB=1024GB
1GB=1024MB

 Tab键自动补全
– 可补齐命令字、选项、参数、文件路径、软件名、服务名
[root@localhost ~]# if(tab) (tab)
[root@localhost ~]# ifco(tab)
[root@localhost ~]# cat /etc/redhat-release
[root@localhost ~]# cat /et(tab)/red(tab)

[root@localhost ~]# ls /etc/sysconfig/network-scripts/
[root@localhost ~]# ls /et(tab)/sysco(tab)/netw(tab)- (tab)

 快捷键
– Ctrl + l:清空整个屏幕
– Ctrl + c:废弃当前编辑的命令行(结束正在运行命令)
– Esc + .或 Alt + .:粘贴上一个命令的参数
]# ls /etc/redhat-release
]# ls -l Alt + .
]# cat Alt + .
]# cat -n Alt + .
– Ctrl + u:清空至行首
– Ctrl + w:往回删除一个单词(以空格界定)

三、mount挂载操作:让目录成为设备的访问点
 Linux系统命令行显示光盘内容
Windows:显示光盘内容
光盘----->光驱设备----->DVD驱动器(访问点)
Linux: 显示光盘内容
光盘----->光驱设备----->目录(访问点)
1.将光盘镜像文件放入虚拟光驱设备

2.查看光驱设备(一切皆文件)
[root@localhost ~]# ls /dev/sr0 #实际名字
/dev/sr0
[root@localhost ~]# ls /dev/cdrom #快捷方式
/dev/cdrom
[root@localhost ~]# ls -l /dev/cdrom

4.利用mount命令进行挂载光驱设备
[root@localhost ~]# mkdir /dvd
– 格式:mount 设备路径 挂载点目录

[root@localhost ~]# mount /dev/cdrom /dvd
mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# ls /dvd/
[root@localhost ~]# ls /dvd/Packages
5.卸载
[root@localhost ~]# umount /dvd
[root@localhost ~]# ls /dvd/
[root@localhost ~]# mkdir /nsd2007
[root@localhost ~]# mount /dev/cdrom /nsd2007
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /nsd2007

注意事项:
1.卸载时,当前位置不能是挂载点目录
[root@localhost ~]# cd /nsd2007
[root@localhost nsd2007]# ls
[root@localhost nsd2007]# umount /nsd2007
umount: /nsd2007:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
2.挂载时,自行创建目录
3.挂载允许将一个设备,挂载到不同的挂载点
4.不允许一个挂载点,挂载不同设备

四、查看及切换目录
 cd — Change Directory
– 用途:切换工作目录
– 格式:cd [目标文件夹位置]
. 当前目录
… 父目录(上一层)
~ 用户家目录(存放用户个性化信息的目录)
~user 用户user的家目录
/root:管理员的家目录
/home:存放所有普通用户的家目录
[root@localhost etc]# cd ~root #去往root用户的家目录
[root@localhost ~]# pwd

[root@localhost /]# useradd harry #创建harry用户
[root@localhost /]# cd ~harry #去往harry用户的家目录
[root@localhost harry]# pwd

[root@localhost harry]# useradd tom #创建tom用户
[root@localhost harry]# cd ~tom #去往tom用户的家目录
[root@localhost tom]# pwd

 ls — List常用命令选项
– -l:以长格式显示,显示详细信息
– -A:显示所有内容包含隐藏数据
– -d:显示目录本身(而不是内容)的属性
– -h:提供易读的容量单位(K、M等)
– -R:递归显示内容(显示目录下所有内容,包括子目录)
]# ls -l /etc/passwd #显示详细属性
]# ls -lh /boot/initramfs-3.10.0-862.el7.x86_64.img
]# ls -lh /etc/passwd #显示详细属性,加上容量单位

]# ls -ld /etc/ #显示目录本身的详细属性
]# ls -ld /home #显示目录本身的详细属性
]# ls -ld /root #显示目录本身的详细属性

]# ls -A /root #显示目录所有内容,包括隐藏数据
]# ls -A /home/harry

]# ls -R /boot/ #递归显示目录内容
]# ls -R / #递归显示目录内容

 通配符:针对不确定的文档名称,以特殊字符表示
:任意多个任意字符
– ?:单个字符
[root@localhost /]# ls /boot/vm

[root@localhost /]# ls /root/a*
[root@localhost /]# ls /dev/tty*
[root@localhost /]# ls /etc/tab
[root@localhost /]# ls /etc/
.conf
[root@localhost /]# ls /etc/r*.conf

[root@localhost /]# ls /etc/??tab
[root@localhost /]# ls /dev/tty?
[root@localhost /]# ls /dev/tty??

– [a-z]:多个字符或连续范围中的一个,若无则忽略
– {a,min,xy}:多组不同的字符串,全匹配
[root@localhost /]# ls /dev/tty[3-6]
[root@localhost /]# ls /dev/tty[1-9]
[root@localhost /]# ls /dev/tty[0-9]

[root@localhost /]# ls /dev/tty{1,3,7,9,11,28}
[root@localhost /]# ls /dev/tty{1,2,3,4}

 别名的定义:简化复杂的命令
• 查看已设置的别名
– alias [别名名称]
• 定义新的别名
– alias 别名名称= ‘实际执行的命令行’
• 取消已设置的别名
– unalias [别名名称]

[root@localhost /]# hostname
[root@localhost /]# alias hn=‘hostname’ #定义别名
[root@localhost /]# hn

[root@localhost /]# alias myls=‘ls -ld’ #定义别名
[root@localhost /]# myls /root
[root@localhost /]# alias #查看系统中所有有效别名
[root@localhost /]# unalias myls #删除别名

 新建文档
mkdir — Make Directory
格式:mkdir [-p] [/路径/]目录名…
-p:创建多级目录,创建父目录

[root@localhost /]# mkdir -p /opt/aa/bb/cc/dd
[root@localhost /]# ls -R /opt/aa

[root@localhost /]# mkdir -p /vod/movie/cartoon
[root@localhost /]# ls -R /vod

 rm删除数据Remove
格式:rm [选项]… 文件或目录…
常用命令选项:
-r、-f:递归删除(含目录)、强制删除
[root@localhost /]# rm -rf /opt/aa
[root@localhost /]# ls /opt

 mv — Move移动,源数据会消失
– 格式:mv 原文件… 目标路径
[root@localhost /]# rm -rf /opt/*
[root@localhost /]# mkdir /opt/nsd01
[root@localhost /]# touch /opt/1.txt
[root@localhost /]# ls /opt/
1.txt nsd01
[root@localhost /]# mv /opt/1.txt / opt/nsd01
[root@localhost /]# ls /opt/
nsd01
[root@localhost /]# ls /opt/nsd01/
1.txt
[root@localhost /]#

• 重命名:路径不变的移动
[root@localhost /]# ls /opt/
nsd01
[root@localhost /]# mv /opt/nsd01/ /opt/abc01
[root@localhost /]# ls /opt/
abc01
[root@localhost /]# mv /opt/abc01/ /opt/student
[root@localhost /]# ls /opt/
student

• 在移动的时候,可以重新命名目标路径下数据的名称
]# ls /opt/

]# mv /opt/student/ /mnt/stu01 #移动过去并且改名
]# ls /mnt/

]# mkdir /opt/test
]# ls /opt/

]# mv /opt/test/ /mnt/stu01 #移动到/mnt/stu01目录下
]# ls /mnt/
]# ls /mnt/stu01/

• mv支持多个参数,永远会把最后一个参数作为目标,其他全部作为源数据
]# touch /mnt/1.txt
]# touch /mnt/2.txt
]# mkdir /mnt/nsd10
]# ls /mnt/
]# mv /mnt/1.txt /mnt/2.txt /mnt/nsd10/ /opt/
]# ls /opt/

 cp — Copy复制,源数据不会消失
– 格式:cp [选项]… 原文件… 目标路径
常用命令选项
– -r:递归,复制目录时必须有此选项
[root@localhost /]# rm -rf /opt/*
[root@localhost /]# cp /etc/redhat-release /opt/
[root@localhost /]# ls /opt/

[root@localhost /]# cp -r /home /opt/ #复制目录
[root@localhost /]# ls /opt/

• 复制出现重名覆盖
]# cp -r /home/ /opt/
]# \cp -r /home/ /opt/ #在本次操作临时取消别名

• 在复制的时候,可以重新命名目标路径下数据的名称
[root@localhost /]# cp /etc/redhat-release /opt/haha
[root@localhost /]# ls /opt/

[root@localhost /]# cp -r /boot/ /opt/myboot
[root@localhost /]# ls /opt/
• cp支持多个参数,永远会把最后一个参数作为目标,其他全部作为源数据
]# cp /etc/passwd /etc/hosts /etc/fstab /opt/
]# ls /opt/

• 在复制的时候,可以与点进行连用
[root@localhost /]# cd /opt/
[root@localhost opt]# pwd
[root@localhost opt]# cp /etc/shells . #复制到当前路径下
[root@localhost opt]# ls

[root@localhost opt]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
[root@localhost network-scripts]# cp /etc/fstab .
[root@localhost network-scripts]# ls

 在文本文件内容中,输出包含指定字符串的行
– grep ‘关键字’ 文本文件…
 常用命令选项
– -v,取反匹配
– -i,忽略大小写
]# grep root /etc/passwd
]# grep -v root /etc/passwd #输出不包含root的行

]# grep -i man /etc/man_db.conf #忽略大小写

– ^word 以字符串word开头
– word$ 以字符串word结尾
[root@localhost /]# grep ^root /etc/passwd

[root@localhost /]# grep bash$ /etc/passwd

猜你喜欢

转载自blog.csdn.net/wangboyujiayou/article/details/109381730