LINUX命令行/目录和文件管理

如何编写命令行
• Linux命令
– 用来实现某一类功能的指令或程序
Linux执行命令时,需要找到相应的程序文件

– 命令的执行依赖于解释器(Linux默认的解释器:/bin/bash)
用户------>解释器------>内核----->硬件

绿色:可以执行的程序

命令行的一般格式
• 基本用法
– 命令字 [选项]… [参数1] [参数2]…

[root@feifan ~]# cat --help     #查看命令帮助信息
[root@feifan ~]# cat -n /etc/default/useradd 
  
[root@feifan ~]# cat -n /etc/passwd
[root@feifan ~]# cat -n /etc/fstab
[root@feifan ~]# cat -n /etc/hosts

快速编辑技巧
• Tab键自动补全
– 可补齐命令字、选项、参数、文件路径、软件名、服务名

• 快捷键
– Ctrl + l:清空整个屏幕
– Ctrl + c:废弃当前编辑的命令行(结束正在运行的命令)
– Esc + . 或 Alt + .:粘贴上一个命令的参数

[root@feifan ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0
[root@feifan ~]# cat   Alt + .
[root@feifan ~]# cat -n Alt + .
[root@feifan ~]# head -2  Alt + .
[root@feifan ~]# tail -2  Alt + .

– Ctrl + u:从光标处清空至行首
– Ctrl + w:往回删除一个单词(以空格界定

mount挂载操作
可以让目录成为设备的访问点
从光盘中获取软件包
让Linux显示光盘内容
对比
Windows: 光盘文件------>光驱设备------>CD驱动器(图标)访问点

Linux: 光盘文件------>光驱设备------>访问点(目录)
1.图形将光盘文件放入虚拟光驱设备
2.查看光驱设备
青色:快捷方式

[root@feifan ~]# ls /dev/sr0
/dev/sr0
[root@feifan ~]# ls /dev/cdrom
/dev/cdrom
[root@feifan ~]# ls -l /dev/cdrom    #显示参数的详细属性
lrwxrwxrwx. 1 root root 3 6月   3 10:00 /dev/cdrom -> sr0

3.挂载设备

[root@feifan ~]# mkdir /dvd
[root@feifan ~]# ls /dvd

• 使用mount命令
– 格式:mount 设备路径 挂载点目录

[root@feifan ~]# mount /dev/cdrom   /dvd
[root@feifan ~]# ls /dvd/

[root@feifan ~]# ls /dvd/P(tab)

4.卸载

[root@feifan ~]# umount  /dvd
[root@feifan ~]# ls /dvd

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

[root@feifan ~]# umount  /opt/
[root@feifan ~]# ls  /opt/

注意事项:
1.卸载,当前不要挂载点目录下
[root@feifan dvd]# umount /dvd/
umount: /dvd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)

2.一个设备可以有多个挂载点
3.不允许一个挂载点有多个设备
4.建议挂载点目录的选择,最好自己创建

查看及切换目录
• cd — Change Directory
– 用途:切换工作目录
– 格式:cd [目标文件夹位置]

~:表示用户家目录
~user表示用户user的家目录
/root:为管理员的家目录
/home:存放所有普通用户家目录

[root@feifan ~]# cd ~root
[root@feifan ~]# pwd
/root
[root@feifan ~]# useradd  tom    #创建tom用户
[root@feifan ~]# cd ~tom         #切换普通用户tom家目录
[root@feifan tom]# pwd           

[root@feifan tom]# useradd  harry   #创建harry用户
[root@feifan tom]# cd ~harry        #切换普通用户harry家目录
[root@feifan harry]# pwd

. 表示当前目录
… 表示父目录

ls列出文档及属性
• ls — List
– 格式:ls [选项]… [目录或文件名]

• 常用命令选项
– -l:以长格式显示,显示详细属性
– -h:提供易读的容量单位(K、M等)
– -A:包括名称以 . 开头的隐藏文档
– -d:显示目录本身(而不是内容)的属性

[root@feifan ~]# ls /root
[root@feifan ~]# ls -l /root
[root@feifan ~]# ls   -ld  /root
[root@feifan ~]# ls  -l  /etc/passwd
[root@feifan ~]# ls -lh /etc/passwd

[root@feifan ~]# ls -lh /etc/fstab
[root@feifan ~]# ls -lh /var/log/message

[root@feifan ~]# ls /root
[root@feifan ~]# ls -A /root/

[root@feifan ~]# ls /boot
[root@feifan ~]# ls -A /boot
[root@feifan ~]# ls -lA /boot

[root@feifan ~]# touch /mnt/.abc.txt
[root@feifan ~]# ls /mnt
[root@feifan ~]# ls -A /mnt

使用通配符
• 针对不确定的文档名称,以特殊字符表示
– *:任意多个任意字符
– ?:单个字符

[root@feifan ~]# ls /boot/v*   #匹配以v开头
[root@feifan ~]# ls /root/a*   #匹配以a开头
[root@feifan ~]# ls /dev/tty*  #匹配以tty开头

[root@feifan ~]# ls /etc/*tab    #匹配以tab结尾
[root@feifan ~]# ls /etc/*.conf  #匹配以.conf结尾

[root@feifan ~]# ls /etc/??tab

[root@feifan ~]# ls /dev/tty?
[root@feifan ~]# ls /dev/tty??
[root@feifan ~]# ls /dev/tty???

• 针对不确定的文档名称,以特殊字符表示
– [a-z]:多个字符或连续范围中的一个,若无则忽略
– {a,min,xy}:多组不同的字符串,全匹配


[root@feifan ~]# ls /dev/tty[3-8]
[root@feifan ~]# ls /dev/tty[0-7]
[root@feifan ~]# ls /dev/tty[1-9]

[root@feifan ~]# ls /dev/tty{1,3,5,7,9,27}
[root@feifan ~]# ls /dev/tty{1,3,5,7,9,27,S0}
[root@feifan ~]# ls /dev/tty{haha,xixi}

例如:显示/dev/tty20至/dev/tty30范围所有设备文件?

 [root@feifan ~]# ls /dev/tty2[0-9]
[root@feifan ~]# ls /dev/tty2?

[root@feifan ~]# ls /dev/tty2[0-9]  /dev/tty30

[root@feifan ~]# ls /dev/tty{2[0-9],30}

别名的定义:简化复杂的命令

[root@feifan ~]# hostname
feifan
[root@feifan ~]# hn
bash: hn: 未找到命令...
[root@feifan ~]# alias hn='hostname'  #别名的定义
[root@feifan ~]# hn
feifan
[root@feifan ~]# alias            #显示当前系统生效的别名
[root@feifan ~]# unalias hn       #删除别名hn
[root@feifan ~]# hn
bash: hn: 未找到命令...
[root@feifan ~]# 

[root@feifan ~]# alias qq='ls -lh  /etc/passwd'
[root@feifan ~]# qq

新建文档
mkdir 创建目录
• mkdir — Make Directory
– 格式:mkdir [-p] [/路径/]目录名…
-p表示连父目录一起创建

[root@feifan ~]# mkdir -p /vod/movie/cartoon
[root@feifan ~]# ls /vod
[root@feifan ~]# ls /vod/movie

[root@feifan ~]# mkdir -p /opt/aa/bb/cc/dd
[root@feifan ~]# ls /opt/
[root@feifan ~]# ls /opt/aa
[root@feifan ~]# ls /opt/aa/bb/
[root@feifan ~]# ls /opt/aa/bb/cc

[root@feifan ~]# mkdir -p /opt/aaa/1905
[root@feifan ~]# ls /opt/
[root@feifan ~]# ls /opt/aaa

-R:递归显示

[root@feifan ~]# ls -R /opt/aa
/opt/aa:
bb

/opt/aa/bb:
cc

/opt/aa/bb/cc:
dd

/opt/aa/bb/cc/dd:

rm 删除
• rm — Remove
– 格式:rm [选项]… 文件或目录…

• 常用命令选项
– -r、-f:递归删除(含目录)、强制删除

[root@feifan ~]# mkdir /opt/aaa01
[root@feifan ~]# mkdir /opt/aaa02
[root@feifan ~]# touch /opt/1.txt
[root@feifan ~]# ls /opt/

[root@feifan ~]# rm -rf /opt/aaa*
[root@feifan ~]# ls /opt/

[root@feifan ~]# rm -rf /opt/1.txt
[root@feifan ~]# ls /opt/

** vim文本编辑器**
– 格式:vim [[/目录/]文件名]
– 若目标文件不存在,则新建空文件并编辑
– 若目标文件已存在,则打开此文件并编辑

[root@feifan ~]# vim /opt/xixi.txt

	 命----i键 或 o键----->插入模式(按Esc回到命令模式)
	 令
	 模
	 式----:键----->末行模式(按Esc回到命令模式)

     末行模式   :wq 保存并退出
     末行模式   :q! 强制不保存并退出

     命令模式    u 可以进行撤销

查找文本内容
• 根据字符串模式提取文本行
– grep [选项] ‘匹配模式’ 文本文件…

• 常用命令选项
– -v,取反匹配,不包含
– -i,忽略大小写

[root@feifan ~]# grep root /etc/passwd
[root@feifan ~]# grep ROOT /etc/passwd
[root@feifan ~]# grep -i ROOT /etc/passwd      
[root@feifan ~]# grep -v root /etc/passwd

– ^root 以字符串root开头
– root$ 以字符串root结尾

[root@feifan ~]# grep  ^root  /etc/passwd
[root@feifan ~]# grep  root$  /etc/passwd
[root@feifan ~]# grep  bash$  /etc/passwd

mv 移动/改名
• mv — Move
– 格式:mv 原文件… 目标路径

[root@feifan ~]# mkdir /opt/aaa
[root@feifan ~]# touch /opt/1.txt
[root@feifan ~]# ls /opt/

[root@feifan ~]# mv /opt/1.txt  /opt/aaa
[root@feifan ~]# ls /opt/
[root@feifan ~]# ls /opt/aaa/

重命名:路径不变的移动
[root@feifan ~]# ls /opt/
[root@feifan ~]# mv /opt/aaa  /opt/student
[root@feifan ~]# ls /opt/

[root@feifan ~]# mv /opt/student/ /opt/abc
[root@feifan ~]# ls /opt/

cp 复制
• cp — Copy
– 格式:cp [选项]… 原文件… 目标路径

• 常用命令选项
– -r:递归,复制目录时必须有此选项

[root@feifan ~]# rm -rf /opt/*
[root@feifan ~]# ls /opt/
[root@feifan ~]# cp /etc/passwd   /opt/
[root@feifan ~]# ls /opt/

[root@feifan ~]# cp /etc/fstab   /opt/
[root@feifan ~]# ls /opt/

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

[root@feifan ~]# cp -r /boot  /opt/
[root@feifan ~]# ls /opt/

复制出现同名强制覆盖
在本次操作临时取消别名

[root@feifan ~]# cp -r /boot/  /opt/
[root@feifan ~]# cp -r /boot/  /opt/

[root@feifan ~]# \cp -r /boot/  /opt/

复制可以支持两个以上的参数:
永远把最后一个参数作为目标,其他的所有参数都作为源

[root@feifan ~]# rm -rf /opt/*
[root@feifan ~]# ls /opt/
[root@feifan ~]# cp -r /etc/passwd /etc/fstab  /etc/hosts /home/  /boot/  /opt/
[root@feifan ~]# ls /opt/

复制与 . 进行连用

[root@feifan ~]# cd /opt/
[root@feifan opt]# pwd
[root@feifan opt]# cp /etc/login.defs   .   #复制到当前路径下
[root@feifan opt]# ls
[root@feifan opt]# cd /etc/sysconfig/network-scripts/
[root@feifan network-scripts]# pwd
[root@feifan network-scripts]# cp /etc/passwd     .   
[root@feifan network-scripts]# ls

复制时可以重新命名,目标路径下名称

[root@feifan /]# cp /etc/shadow  /opt/abc.txt
[root@feifan /]# ls /opt/

[root@feifan /]# cp /etc/redhat-release   /opt/rr
[root@feifan /]# ls /opt/

[root@feifan /]# cp /etc/passwd  /opt/p.txt
[root@feifan /]# ls /opt/

[root@feifan /]# cp -r /home  /opt/test
[root@feifan /]# ls /opt/

重定向输出:将命令的输出,作为文本文件内容写入一个文件中
-------- >:覆盖重定向
-------- >>:追加重定向

[root@feifan /]# ls --help   >  /opt/ls.txt
[root@feifan /]# ls /opt/
[root@feifan /]# less /opt/ls.txt 

[root@feifan /]# hostname
[root@feifan /]# hostname > /opt/ls.txt 
[root@feifan /]# cat  /opt/ls.txt

[root@feifan /]# hostname >> /opt/ls.txt 
[root@feifan /]# cat /opt/ls.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值