一、命令行技巧
•Linux命令
–用来实现某一类功能的指令或程序
执行Linux大多数命令,会找到命令相应的执行程序,将程序运行
[root@localhost ~]# which ls # which查找到命令所对应的程序
[root@localhost ~]# which hostname
[root@localhost ~]# ls /usr/bin/hostname
绿色:表示可以执行的程序
–命令的执行依赖于解释器(Linux默认解释器程序/bin/bash)
用户----》解释器----》内核----》硬件
[root@localhost ~]# cat /etc/shells
•命令行的一般格式基本用法
–命令字 [选项]… [参数1] [参数2]…
打 王凯老师
[root@localhost ~]# cat /etc/shells
[root@localhost ~]# cat /etc/shells /etc/redhat-release
[root@localhost ~]# cat --help #查看命令有哪些选项
[root@localhost ~]# cat -n /etc/shells
[root@localhost ~]# cat -n /etc/passwd
[root@localhost ~]# cat -n /etc/hosts
[root@localhost ~]# ls /etc/passwd
[root@localhost ~]# ls -l /etc/passwd #显示数据详细属性
-rw-r--r--. 1 root root 2192 4月 29 18:55 /etc/passwd
[root@localhost ~]# ls -l /etc/shells
[root@localhost ~]# ls -l /etc/shadow
[root@localhost ~]# ls -l /etc/fstab
[root@localhost ~]# ls -l /root #显示目录内容的详细属性
•Tab键自动补全
–可补齐命令字、选项、参数、文件路径、软件名、服务名
[root@localhost ~]# if(tab)(tab)
if ifconfig ifenslave ifup
ifcfg ifdown ifstat
[root@localhost ~]# ifco(tab)
[root@localhost ~]# ls /etc/sysconfig/network-scripts/
[root@localhost ~]# ls /et(tab)/sysco(tab)/netw(tab)-(tab)
[root@localhost ~]# cat /et(tab)/red(tab)
•快捷键
–Ctrl + c:废弃当前编辑的命令行,结束正在运行的命令
–Esc+.或Alt+.:粘贴上一个命令的参数
–Ctrl + l:清空整个屏幕
[root@localhost ~]# ls /etc/shells
/etc/shells
[root@localhost ~]# ls -l ALT + .
[root@localhost ~]# cat ALT + .
[root@localhost ~]# cat -n ALT + .
–Ctrl + u:清空至行首
–Ctrl + w:往回删除一个单词(以空格界定)
二、挂载操作
1.显示操作系统光盘的内容
思路:
Windows:光盘-----》光驱设备-----》CD驱动器(图标)访问点
Linux:光盘-----》光驱设备-----》自己建立目录
/dev/cdrom---->/dev/sr0
1.图形方式将光盘文件放入虚拟的光驱设备
右击---》设置
2.查看光驱设备
[root@localhost ~]# ls /dev/sr0 #实际的光驱设备
[root@localhost ~]# ls /dev/cdrom #光驱设备的快捷方式
[root@localhost ~]# ls -l /dev/cdrom
3.挂载:让目录成为设备的访问点(挂载点)
[root@localhost ~]# mkdir /dvd
[root@localhost ~]# ls /dvd
[root@localhost ~]# mount /dev/cdrom /dvd/ #将设备/dev/cdrom挂载到/dvd
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /dvd/
[root@localhost ~]# ls /dvd/Packages/ #查看众多的软件包
4.卸载
[root@localhost ~]# umount /dvd/
[root@localhost ~]# ls /dvd/
常见问题:
1.卸载:当前路径不要是挂载点目录
[root@localhost ~]# cd /dvd/
[root@localhost dvd]# umount /dvd/
umount: /dvd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@localhost dvd]#
2.挂载:一个设备的挂载点可以有多个,但是不允许一个目录下有多个设备
[root@localhost /]# mount /dev/cdrom /abc
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost /]# mount /dev/cdrom /haha
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost /]# mount /dev/cdrom /dvd
mount: /dev/sr0 写保护,将以只读方式挂载
3.挂载点目录最好自己建立,不要使用根目录下已存在的目录
三、目录及文件管理
•cd — Change Directory
–用途:切换工作目录
–格式:cd [目标文件夹位置]
. :当前目录
..:父目录(上一层)
~ :家目录
~user 用户user的家目录
/root:为Linux系统管理员的家目录
/home:存放所有普通用户的家目录
[root@localhost /]# cd ~root #去往root用户的家
[root@localhost ~]# pwd
[root@localhost ~]# useradd zhangsan #创建普通用户zhangsan
[root@localhost ~]# cd ~zhangsan #去往zhangsan用户的家
[root@localhost zhangsan]# pwd
[root@localhost zhangsan]# useradd tom #创建普通用户tom
[root@localhost zhangsan]# cd ~tom #去往tom用户的家
[root@localhost tom]# pwd
[root@localhost tom]# ls /home
•ls 常用命令选项
–-l:以长格式显示,显示详细属性
–-A:显示所有内容包含隐藏数据
–-d:显示目录本身(而不是内容)的属性
–-h:提供易读的容量单位(K、M等)
–-R:递归显示内容(目录本身以及目录下所有的子目录都显示)
[root@localhost /]# ls -l /etc/passwd
[root@localhost /]# ls -lh /etc/passwd
[root@localhost /]# ls -l /root
[root@localhost /]# ls -ld /
[root@localhost /]# ls -ld /root
[root@localhost /]# ls -A /root
[root@localhost ~]# ls -R /root
•针对不确定的文档名称,以特殊字符表示
–*:任意多个任意字符
–?:单个字符
[root@localhost ~]# ls /root/a* #以a开头
[root@localhost ~]# ls /boot/vm* #以vm开头
[root@localhost ~]# ls /dev/tty* #以tty开头
[root@localhost ~]# ls /etc/*tab #以tab结尾
[root@localhost ~]# ls /etc/*.conf #以.conf结尾
[root@localhost ~]# ls /etc/f*b #以f开头以b结尾
[root@localhost ~]# ls /etc/r*.conf
[root@localhost ~]# ls /dev/tty?
[root@localhost ~]# ls /dev/tty??
[root@localhost ~]# ls /etc/??tab
–[a-z]:多个字符或连续范围中的一个,若无则忽略
–{a,min,xy}:多组不同的字符串,全匹配
[root@localhost ~]# ls /dev/tty[3-7]
[root@localhost ~]# ls /dev/tty[0-9]
[root@localhost ~]# ls /dev/tty{1,11,17}
[root@localhost ~]# ls /etc/{fs,rw}tab
四、别名的定义
作用:简化复杂的命令
[root@localhost ~]# alias hn='hostname' #定义别名
[root@localhost ~]# hn
[root@localhost ~]# alias #查看当前系统中生效的别名
[root@localhost ~]# unalias hn #删除别名
[root@localhost ~]# alias myls='ls -ld'
[root@localhost ~]# myls /root
五、创建目录与文件
•mkdir — Make Directory
–格式:mkdir [-p] [/路径/]目录名…
[root@localhost ~]# mkdir /opt/nsd02
[root@localhost ~]# ls /opt/
[root@localhost ~]# mkdir -p /opt/aa/bb/cc/dd
[root@localhost ~]# ls -R /opt/aa
[root@localhost ~]# mkdir /root/nsd10 /mnt/nsd11 /opt/nsd12
[root@localhost ~]# ls /root/
[root@localhost ~]# ls /mnt/
[root@localhost ~]# ls /opt/
六、复制、删除、移动
•rm — Remove
–格式:rm [选项]... 文件或目录…
•常用命令选项
–-r、-f:递归删除(含目录)、强制删除
[root@localhost ~]# rm -rf /opt/nsd02
[root@localhost ~]# ls /opt/
•mv — Move
–格式:mv 原文件… 目标路径
[root@localhost ~]# mkdir /opt/test
[root@localhost ~]# touch /opt/a.txt
[root@localhost ~]# ls /opt/
[root@localhost ~]# mv /opt/a.txt /opt/test
[root@localhost ~]# ls /opt/
[root@localhost ~]# ls /opt/test/
重命名:路径不变的移动
[root@localhost ~]# ls /opt/
[root@localhost ~]# mv /opt/test/ /opt/nsd20
[root@localhost ~]# ls /opt/
[root@localhost ~]# mv /opt/nsd20 /opt/abc
[root@localhost ~]# ls /opt/
•cp — Copy
–格式:cp [选项]... 原文件… 目标路径
•常用命令选项
–-r:递归,复制目录时必须有此选项
[root@localhost ~]# mkdir /opt/nsd30
[root@localhost ~]# cp /etc/passwd /opt/nsd30
[root@localhost ~]# ls /opt/nsd30
[root@localhost ~]# cp -r /boot /opt/nsd30/
[root@localhost ~]# ls /opt/nsd30/
[root@localhost ~]# cp -r /home/ /opt/nsd30
[root@localhost ~]# ls /opt/nsd30
复制时出现重名:强制覆盖
[root@localhost ~]# cp -r /boot/ /opt/nsd30/
[root@localhost ~]# cp -r /boot/ /opt/nsd30/ #在本次操作临时取消别名
复制支持多个参数:永远会把最后一个参数作为目标,其他的全部作为源数据
[root@localhost ~]# cp /etc/fstab /etc/hosts /etc/shadow /opt/
[root@localhost ~]# ls /opt/
复制与点的连用:将数据复制到当前路径下
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
[root@localhost network-scripts]# cp /etc/passwd .
[root@localhost network-scripts]# ls
复制可以重新命名,目标路径下的名字
[root@localhost /]# cp /etc/passwd /opt/p.txt
[root@localhost /]# ls /opt/
[root@localhost /]# cp -r /home/ /opt/myhome
[root@localhost /]# ls /opt/
七、过滤文本文件的内容
•根据字符串模式提取文本行
–grep [选项] '匹配模式' 文本文件...
•常用命令选项
–-v,取反匹配
–-i,忽略大小写
[root@localhost /]# grep root /etc/passwd
[root@localhost /]# grep -v root /etc/passwd
[root@localhost /]# grep ROOT /etc/passwd
[root@localhost /]# grep -i ROOT /etc/passwd
[root@localhost /]# grep -i man /etc/man_db.conf
•常用的匹配模式
–word 包含字符串word
–^word 以字符串word开头
–word$ 以字符串word结尾
[root@localhost /]# grep root /etc/passwd
[root@localhost /]# grep ^root /etc/passwd
[root@localhost /]# grep bash$ /etc/passwd