目录
一 linux的哲学
1.一切皆文件。几乎把所有的资源系统抽象为文件形式:包括硬件设备,甚至通信接口等。作用:提高资源管理效率。
2.由众多功能单一的程序组成:一个程序只做一件事,并且做好;组合小程序完成复杂任务。
作用:程序分工明确,运行后方便进程管理。程序代码也轻量化,高效,容易修复错误。
小程序易于理解,维护,消耗系统资源较少,易于与其他工具结合实现更多的功能
3.尽量避免跟用户交互。使用命令行接口执行效率更高,易于以编程的方式实现自动化任务
4.使用文本文件保存配置信息。文本文件易于增删改查。
5.无后缀
二 linux基础知识
shell(翻译官)
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的cmd.exe。它接收用户命令,然后调用相应的应用程序。
同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
基础知识
如上图:root/123 分别代表当前用户名
对应#(管理员) $(普通用户)(普通用户进入管理员账户需要密码登录,反之不需要)
localhost 代表主机名
~ 代表家目录 类似于Windows的用户目录
内部命令和外部命令
linux命令行格式
命令字 (空格)【选项】(空格)【参数】
linux区分大小写
-后加字母 -- 后加单词(例如:help)
参数:文件、文件夹、命令、命令执行结果
通配符
?:匹配一个字符
*:匹配所有非隐藏的字符无论多长多短,但不匹配"."开头的文件,即隐藏文件
{1..10}:1到10
{a..z} :abc ...z
{A..Z}A B C....Z
[123]:取其中之一有就显示没有也无所谓
[0-9]:匹配数字范围
\:转义符,表示原来的意思
通配符一般和ls配合 查找一定条件的文件 目录
linux基础命令
ls 列表显示目录内容
ls [参数] [目录或文件]
参数:
-a:显示所有文件,包括隐藏文件;
-A:显示指定目录下的文件但不显示隐藏文件;
-c:按文件的修改时间排序;
-l:长格式显示文件的详细信息;
-d:只显示指定目录;
-h:友好显示;
-R:递归,将当前目录下所有的子目录文件显示出来;
-l显示下头部信息
d 目录; - 普通文件; l 代表连接文件;b 代表块文件
c 字节文件; p 代表管道文件; s 代表套接字文件;
按颜色区分:绿色 可执行文件
红色 压缩文件
蓝色 文件夹
天蓝色 链接文件
alias 设置别名
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
du 统计目录及文件占用空间情况
格式:du [选项] [文件或目录....]
选项:du 空白 只显示当前目录下文件大小
du -a 显示当前目录下所有文件(包含下级目录文件)
du -s 只显示当前目录自己大小 (不含文件和下级文件)
-a -s不能同时使用 (du: 不能既显示总用量,同时又显示每个项目
)
cd 切换目录
cd 空白 cd ~ 回当前用户家目录
cd - 回上一次目录
cd .. cd ../ 回上一层目录 (第二个里面的/不是根只是分隔符)
cd / 回根目录
cd . 这里的.代表当前目录 就是自己
pwd 当前目录路径
pwd -p 真实路径
mkdir 增加目录
mkdir [选项] 目录位置及名称... 参数不可省略 可创建多个目录
[root@localhost mnt]# mkdir ./111 222
[root@localhost mnt]# ls
111 222
注意:文件名最长255字节、可以使用特殊字符(/和空字符除外)
选项:-p 递归创建
[root@localhost 111]# mkdir -p 22/33
[root@localhost 111]# ls -R
.:
22
./22:
33
touch 新建文件或刷新时间
touch 1.创建新文件(可以为空文件)
2.刷新文件时间(已存在的文件)(stat 文件 查看文件详细信息)
三种创建文件的方式:
[root@localhost c]# touch 5.txt
[root@localhost c]# vim 6.txt
[root@localhost c]# echo "1234" > 7.txt
[root@localhost c]# ls
5.txt 6.txt 7.txt
ln 创建链接文件(ln link简写)
(1)为文件或目录建立链接文件,类似于Windows系统的快捷方式
(2)链接文件类型:
a:软链接(又称为符号链接)
b:硬链接
-s:创建软链接
In [-s] 源文件或目录...链接文件或目标位置
(3)示例:
In -s /bin/bzip2 /bin/wx/
软连接依托于源文件,若源文件没了,那软连接也就失效了;
不允许将硬链接指向目录;
(4)硬链接和软连接的区别
(硬链接相当于复制拷贝,软链接相当于快捷方式依托于源对象)
cp 复制文件和目录
格式:cp [选项] 源文件或目录(可多个) 目标文件或目录(可多个)
选项 | 效果 |
-p | 保留原有属性(属主、属组) |
-a | 比-p更强大,保留链接属性 |
-r | 复制目录(复制目录必须-r) |
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
mv 移动文件或目录
格式: mv [选项] [源文件或目录] [目标文件或目录]
如果在同一目录下操作mv 相当于 重命名文件操作
[root@localhost opt]# ls /mnt
1.txt 2.txt 3.txt
[root@localhost opt]# cd /mnt
[root@localhost mnt]# mv 1.txt 2.txt 3.txt /opt
[root@localhost mnt]# ls /opt
11 1.txt 22 2.txt 3.txt aaa rh
rename 批量改名
格式:rename 【选项】 旧名 新名 源文件(使用通配符)
[root@localhost opt]# rename txt txt1 *.txt
[root@localhost opt]# ls
11 1.txt1 22 2.txt1 3.txt1 aaa rh
locate 模糊匹配查找/ find 精确匹配
locate *.conf 模糊匹配 速度快
find [查找范围] [表达式](范围在前)
按名称查找
[root@localhost opt]# ls
11 1.txt 22 2.txt 3.txt aaa rh
[root@localhost opt]# find ./ -name 1.txt
./1.txt
[root@localhost opt]# find ./ -name "*.txt"
./.f4.txt
./1.txt
./2.txt
./3.txt
按属主
[root@localhost opt]# find /home/123 -user 123
/home/123
/home/123/.mozilla
/home/123/.mozilla/extensions
/home/123/.mozilla/plugins
/home/123/.bash_logout
/home/123/.bash_profile
/home/123/.bashrc
/home/123/.Xauthority
/home/123/.cache
/home/123/.cache/abrt
/home/123/.cache/abrt/lastnotification
/home/123/.config
/home/123/.config/abrt
按文件类型
[root@localhost opt]# find /boot -type d
/boot
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/centos
/boot/grub2
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub
按文件大小查询
格式: find [查找范围] -size 参数(k是小写)
三 总结
牢记基础命令