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

一、 命令行的基础

 什么是命令
用来实现某一类功能的指令或程序
在Linux中指定大多数命令,都要找到相应的程序
命令的执行依赖于解释器(Linux默认的解释器/bin/bash)
用户----->解释器----->内核------>硬件

 命令行的一般格式
命令字 [选项]… [参数1] [参数2]…
[root@localhost~]# cat --help
[root@localhost~]# cat -n /etc/shells
[root@localhost~]# cat -n /etc/redhat-release
[root@localhost~]# cat -n /etc/fstab
[root@localhost~]# cat -n /etc/hosts
[root@localhost~]# cat -n /etc/passwd
[root@localhost~]# ls -l /etc/passwd #显示详细属性
[root@localhost~]# ls -l /etc/hosts
[root@localhost~]# ls -l /etc/fstab
[root@localhost~]# ls -l /etc/shells
1KB (Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
1PB(Petabyte 千万亿字节 拍字节)=1024TB,
1EB(Exabyte 百亿亿字节 艾字节)=1024PB,

 Tab键自动补全
可补齐命令字、选项、参数、文件路径、软件名、服务名
[root@localhost~]# if(tab) (tab) #连续按两次tab键

[root@localhost~]# ifco(tab)
[root@localhost~]# cat /etc/red(tab)
[root@localhost~]# ls /etc/sysconfig/network-scripts/

• 快捷键
Ctrl + l:清空整个屏幕
Ctrl + c:废弃当前编辑的命令行(结束正在运行的命令)
Esc+. 或 Alt +. :粘贴上一个命令的参数
[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:往回删除一个单词(以空格界定)

二、 mount挂载,让目录成为设备的访问点

从光盘中获得软件包

Windows访问光盘内容:
光盘文件---->光驱设备---->
Linux系统访问光盘内容
光盘文件---->光驱设备---->访问点(目录)
1.将光盘的镜像文件,放入到虚拟的光驱设备

2.查看Linux中光驱设备
[root@localhost ~]# ls /dev/sr0 #实际光驱设备的名称
/dev/sr0
[root@localhost~]# ls /dev/cdrom #光驱设备的快捷方式
/dev/cdrom
[root@localhost~]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 7月 3 09:00 /dev/cdrom -> sr0
3.创建目录作为访问点(挂载点)
[root@localhost~]# mkdir /dvd
[root@localhost~]# ls /dvd/
格式:mount 设备路径 挂载点目录

root@localhost~]# mount /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@localhostdvd]# umount /dvd/
umount: /dvd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
2.挂载时最好选择自己创建的目录,不要使用根目录下,已存在的目录
3.挂载允许挂载到多个挂载点(访问点)
4.不允许一个挂载点有多个设备

三、 目录与文件的管理

cd — Change Directory
用途:切换工作目录
格式:cd [目标文件夹位置]
… :上一级目录
~ :用户家目录
. :当前目录

/root:管理员root用户的家目录
/home: 存放所有普通用户家目录的地方
[root@localhost/]# useradd lisi #创建lisi用户
[root@localhost/]# ls /home/

[root@localhost/]# useradd tom
[root@localhost/]# ls /home/
[root@localhost/]# cd ~lisi #去往lisi用户的家目录
[root@localhostlisi]# pwd
[root@localhostlisi]# cd ~tom #去往tom用户的家目录
[root@localhosttom]# pwd
[root@localhosttom]# cd ~root
[root@localhost~]# pwd

 ls — List
– 格式:ls [选项]… [目录或文件名]
 常用命令选项
– -l:以长格式显示,显示详细信息
– -A:显示所有内容包含隐藏数据
– -d:显示目录本身(而不是内容)的属性
– -h:提供易读的容量单位(K、M等)
– -R:递归显示内容
[root@localhost~]# ls -lh /boot #显示目录内容的详细属性,加上易读的单位
[root@localhost~]# ls -lh /root #显示目录内容的详细属性,加上易读的单位

[root@localhost~]# ls -l /etc/passwd #显示文件的详细属性
[root@localhost~]# ls -lh /etc/passwd #显示文件的详细属性,加上易读的单位

[root@localhost~]# ls -ld /boot/ #显示目录本身的详细属性
[root@localhost~]# ls -ld /root/ #显示目录本身的详细属性

[root@localhost~]# ls -A /root #显示所有内容,包括隐藏数据
[root@localhost~]# touch /opt/.nb.txt
[root@localhost~]# ls /opt/
haxi.txt nsd02 nsd03 rh
[root@localhost~]# ls -A /opt/

[root@localhost~]# ls -R /opt/ #递归显示目录下内容
[root@localhost~]# ls -R /boot/
[root@localhost~]# 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/ftab
[root@localhost~]# ls /etc/r
.conf

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

[a-z]:多个字符或连续范围中的一个,若无则忽略
{a,min,xy}:多组不同的字符串,全匹配

[root@localhost~]# ls /dev/tty[1-6]
[root@localhost~]# ls /dev/tty[3-8]

[root@localhost~]# ls /dev/tty{1,3,7,18,27}
[root@localhost~]# ls /dev/tty{30,33}

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

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

[root@localhost~]# alias mycat=‘cat -n’ #定义别名mycat
[root@localhost~]# mycat /etc/hosts

[root@localhost~]# alias #显示系统所有有效的别名

创建目录,-p:连同父目录一起创建
[root@localhost~]# mkdir -p /opt/aa/bb/cc/dd
[root@localhost~]# ls -R /opt/aa

[root@localhost~]# mkdir -p /opt/vod/haha
[root@localhost~]# ls -R /opt/vod

 rm -rf删除数据

mv移动数据,原数据会消失
格式:mv 原文件… 目标路径
[root@localhost~]# rm -rf /opt/* #删除/opt目录下所有数据
[root@localhost~]# touch /opt/1.txt
[root@localhost~]# mkdir /opt/nsd
[root@localhost~]# ls /opt/

[root@localhost~]# mv /opt/1.txt /opt/nsd
[root@localhost~]# ls /opt/
[root@localhost~]# ls /opt/nsd/

• mv的重命名
[root@localhost~]# ls /opt/
[root@localhost~]# mv /opt/nsd/ /opt/abc #路径不变的移动
[root@localhost~]# ls /opt/

[root@localhost~]# mv /opt/abc/ /opt/haha
[root@localhost~]# ls /opt/

[root@localhost~]# mv /opt/haha/ /opt/xixi
[root@localhost~]# ls /opt/

• mv的重命名,重新命名目录数据的名字
[root@localhost~]# touch /mnt/2.txt
[root@localhost~]# ls /mnt/
[root@localhost~]# mv /mnt/2.txt /opt/xiha.txt #在移动中,修改目标数据的名字
[root@localhost~]# ls /opt/

[root@localhost~]# mkdir /mnt/test
[root@localhost~]# ls /mnt/
[root@localhost~]# ls /opt/
[root@localhost~]# mv /mnt/test/ /opt/student #将test目录移动到/opt并且改名为student
[root@localhost~]# ls /opt/

[root@localhost~]# mkdir /mnt/nsd10
[root@localhost~]# ls /mnt/
[root@localhost~]# mv /mnt/nsd10/ /opt/student #将nsd10目录移动到student目录下
[root@localhost~]# ls /mnt/
[root@localhost~]# ls /opt/student/

• mv支持多个参数,永远会把最后一个参数作为目标,其他参数作为原数据
[root@localhost~]# touch /mnt/10.txt
[root@localhost~]# mkdir /mnt/nsd11
[root@localhost~]# ls /mnt/

[root@localhost~]# mv /mnt/10.txt /mnt/nsd11/ /opt/
[root@localhost~]# ls /opt/

 cp复制数据,原数据不会消失
格式:cp 原文件… 目标路径
-r选项:复制目录必须加上此选项,递归复制
[root@localhost~]# rm -rf /opt/*
[root@localhost~]# cp /etc/redhat-release /opt/
[root@localhost~]# ls /opt/

[root@localhost~]# cp /etc/redhat-release /opt/r.txt
[root@localhost~]# ls /opt/

[root@localhost~]# cp -r /home/ /opt/
[root@localhost~]# ls /opt/
[root@localhost~]# cp -r /home/ /opt/myhome
[root@localhost~]# ls /opt/

• cp时出现重名覆盖
[root@localhost~]# cp -r /boot/ /opt/
[root@localhost~]# \cp -r /boot/ /opt/ #在本次操作,临时取消别名

• cp与一个点的连用,将数据复制到当前路径下
. 表示当前的目录
[root@localhost~]# cd /etc/sysconfig/network-scripts/
[root@localhostnetwork-scripts]# pwd
[root@localhostnetwork-scripts]# cp /etc/fstab .
[root@localhostnetwork-scripts]# ls

[root@localhostnetwork-scripts]# cp /etc/passwd .
[root@localhostnetwork-scripts]# ls

• cp支持多个参数,永远会把最后一个参数作为目标,其他参数作为原数据
[root@localhost/]# cp /etc/passwd /etc/hosts /mnt/
[root@localhost/]# ls /mnt/

四、 文件内容的过滤

根据字符串模式提取文本行
grep [选项] ‘匹配模式’ 文本文件…
常用命令选项
-v,取反匹配
-i,忽略大小写
[root@localhost/]# grep root /etc/passwd
[root@localhost/]# grep bash /etc/passwd

[root@localhost/]# grep -v 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开头
[root@localhost/]# grep root$ /etc/passwd #以root结尾
[root@localhost/]# grep bash$ /etc/passwd #以bash结尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值