命令行基础 、 目录及文件管理 、 文本内容操作
一、Linux命令行基础
Linux命令
– 用来实现某一类功能的指令或程序
在Linux中执行大多数命令时,都要找到命令所对应的程序
]# hostname ]# which hostname #查询命令对应的程序 ]# ls /usr/bin/hostname ]# which firefox
– 命令的执行依赖于解释器(默认解释器/bin/bash)
用户--->解释器--->内核--->硬件
绿色:可以执行的程序
命令行完整格式:
– 命令字 [选项]… [参数1] [参数2]…
打 武器 丁老师…….
]# cat --help #查看命令帮助信息 ]# cat -n /etc/shells #显示行号 ]# cat -n /etc/passwd ]# cat -n /etc/redhat-release ]# cat -n /etc/fstab #开机自动挂载配置文件
]# ls -l /etc/passwd #长格式显示 ]# ls -l /etc/fstab #显示详细属性 ]# ls -l /etc/shells ]# ls -l /root/ #默认显示目录内容的详细属性
计算机容量单位:
一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,它们之间的关系是:
1KB (Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB (Terabyte 万亿字节 太字节)=1024GB,
1PB (Petabyte 千万亿字节 拍字节)=1024TB,
1EB (Exabyte 百亿亿字节 艾字节)=1024PB,
1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.
Tab键自动补全
– 可补齐命令字、选项、参数、文件路径、软件名、服务名
]# if(tab) (tab) #列出以if开头的命令 ]# ifco(tab)
]# cat /etc/re(tab) (tab) ]# cat /etc/red(tab) ]# ls /etc/sysconfig/network-scripts/ ]# ls /et(tab)/sysco(tab)/netw(tab)- (tab)
快捷键
– Ctrl + c:结束正在运行的命令
– Esc+.或Alt+.:粘贴上一个命令的参数
[root@localhost ~]# ls /etc/hosts [root@localhost ~]# ls -l Alt + . [root@localhost ~]# cat Alt + . [root@localhost ~]# cat -n Alt + .
– Ctrl + l:清空整个屏幕
– Ctrl + u:从光标处清空至行首
– Ctrl + w:往回删除一个单词(以空格界定)
系统安装软件
具备众多的软件包,显示光盘内容
命令行显示光盘内容
Windows显示光盘内容:
光盘-----》光驱设备-----》图标(DVD驱动器)
Linux虚拟机:
光盘镜像文件---》虚拟的光驱设备---》访问点(目录)
二、mount挂载操作:让目录成为设备的访问点
命令行显示光盘内容
Windows:
光盘--->光驱设备--->CD驱动器(图标)
Linux:
光盘--->光驱设备--->访问点(目录)
Linux:将光盘镜像文件放入虚拟光驱设备中
2.查看Linux光驱设备
[root@localhost ~]# ls -l /dev/cdrom [root@localhost ~]# ls /dev/sr0
3.挂载操作
• 使用mount命令
– 格式:mount 设备路径 挂载点目录
]# mkdir /dvd ]# ls /dvd ]# mount /dev/cdrom /dvd mount: /dev/sr0 写保护,将以只读方式挂载 ]# ls /dvd/ ]# ls /dvd/P(tab) #查看众多的软件包
常见错误:
1. 没有将光盘镜像文件,放入光驱设备
2. 光驱设备没有连接
]# mount /dev/cdrom /nsd01 mount: 在 /dev/sr0 上找不到媒体
4.卸载操作
]# umount /dvd #卸载 ]# ls /dvd/ ]# mkdir /mydvd ]# mount /dev/cdrom /mydvd mount: /dev/sr0 写保护,将以只读方式挂载 ]# ls /mydvd
注意事项:
1.卸载:当前所在的路径是挂载点目录
[root@localhost mydvd]# umount /mydvd umount: /mydvd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
2.挂载允许一个设备,挂载到不同的挂载点目录
3.不允许一个挂载点目录,挂载多个不同设备
4.建议挂载点目录,最好自行创建
三、目录与文件管理
cd的命令使用
. 当前目录
.. 父目录(上一层)
~:表示家目录
家目录:专门存放用户个性化信息的目录
~user:用户user的家目录
/root:是Linux管理员的家目录
/home:存放所有普通用户的家目录
]# cd ~root #去往root用户的家目录 ]# pwd ]# cd ~lisi #去往lisi用户的家目录 ]# pwd
]# useradd dc #创建用户dc ]# cd ~dc #去往dc用户的家目录 ]# pwd
]# useradd tom #创建用户tom ]# cd ~tom #去往tom用户的家目录 ]# pwd
ls — List
– 格式:ls [选项]... [目录或文件名]
• 常用命令选项
– -l:以长格式显示,显示详细信息
– -h:提供易读的容量单位(K、M等)
– -d:显示目录本身(而不是内容)的属性
]# ls -ld /home #显示目录本身的详细属性 ]# ls -ld /root ]# ls -ld / ]# ls -l /etc/passwd ]# ls -lh /etc/passwd
– -A:显示所有内容包含隐藏数据
– -R:递归显示内容
[root@localhost /]# ls -A /root [root@localhost /]# touch /opt/.nsd.txt [root@localhost /]# ls /opt/ [root@localhost /]# ls -A /opt/ [root@localhost /]# ls -R /opt/
使用通配符
• 针对不确定的文档名称,以特殊字符表示
– *:任意多个任意字符
– ?:单个字符
[root@localhost /]# ls /root/a* [root@localhost /]# ls /boot/vm* [root@localhost /]# ls /etc/*tab [root@localhost /]# ls /etc/*.conf [root@localhost /]# ls /dev/tty* [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-9] [root@localhost /]# ls /dev/tty[1-7]
[root@localhost /]# ls /dev/tty{1,17,20} [root@localhost /]# ls /dev/tty{10,18,22,33} [root@localhost /]# ls /dev/tty{26,19,21,30,40} [root@localhost /]# ls /etc/{cron,fs,rw}tab
别名的定义:简化复杂的命令
• 查看已设置的别名
– alias [别名名称]
• 定义新的别名
– alias 别名名称= '实际执行的命令行'
• 取消已设置的别名
– unalias [别名名称]
]# hostname ]# alias hn='hostname' #定义别名 ]# hn
]# alias #查看系统中有哪些别名 ]# unalias hn #删除hn别名 ]# hn
bash: hn: 未找到命令...
]# alias myls='ls -l' ]# myls /etc/passwd
mkdir — Make Directory
– 格式:mkdir [/路径/]目录名…
[-p]:连同父目录一并创建
[root@localhost /]# mkdir -p /opt/aa/bb/cc/dd [root@localhost /]# ls -R /opt/aa [root@localhost /]# mkdir -p /nsd04/test04 [root@localhost /]# ls -R /nsd04
rm 删除
• rm — Remove
– 格式:rm [选项]... 文件或目录…
• 常用命令选项
– -r、-f:递归删除(含目录)、强制删除
[root@localhost /]# ls /opt [root@localhost /]# rm -rf /opt/1.txt [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/ [root@localhost /]#mv /opt/1.txt /opt/nsd01 [root@localhost /]#ls /opt/ [root@localhost /]# ls /opt/nsd01/
重命名:路径不变的移动
]# ls /opt/ ]# mv /opt/nsd01 /opt/abc ]# ls /opt/ ]# mv /opt/abc/ /opt/student ]# ls /opt/ ]# mv /opt/student /mnt/stu01 ]# ls /mnt/
cp — Copy:源数据不会消失
– 格式:cp [选项]... 原文件… 目标路径
• 常用命令选项
– -r:递归,复制目录时必须有此选项
]# cp /etc/passwd /opt/ ]# ls /opt/ ]# cp -r /boot/ /opt/ ]# ls /opt/ ]# cp -r /home/ /opt/ ]# ls /opt/
重名进行强制覆盖
]# \cp -r /boot/ /opt/ #本次操作临时取消别名 ]# \cp -r /boot/ /opt/ #本次操作临时取消别名
l复制可以支持重新命名,目标路径下数据的名称
]# cp -r /home/ /opt/myhome ]# ls /opt/ ]# cp /etc/redhat-release /opt/r.txt ]# ls /opt/ ]# ls /opt/ ]# cp -r /root/ /opt/myroot ]# ls /opt/ ]# cp -r /root/ /opt/myroot ]# ls /opt/myroot/
l 复制可以支持两个以上的参数,永远把最后一个参数作为目标,其他的所有的参数都作为源数据
]# mkdir /nsd05 ]# cp -r /home/ /etc/passwd /boot/ /etc/shells /nsd05 ]# ls /nsd05
l 复制与一个点进行连用,将数据复制到当前路径下
]# cd /etc/sysconfig/network-scripts/ ]# pwd ]# cp /etc/passwd . ]# ls
在文本文件中过滤,包含指定字符串的行
– grep [选项] '字符串' 文本文件...
• 常用命令选项
– -v,取反匹配(不包含)
– -i,忽略大小写
]# grep root /etc/passwd ]# grep -v root /etc/passwd ]# grep ROOT /etc/passwd ]# grep -i ROOT /etc/passwd
– ^word 以字符串word开头
– word$ 以字符串word结尾
]# grep ^root /etc/passwd ]# grep ^bin /etc/passwd ]# grep root$ /etc/passwd ]# grep bash$ /etc/passwd