目录
一,Linux基础知识
1,shell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linux时会自动加载一个shell程序
bash是Linux系统中默认使用的shell程序
2,Linux命令的分类
命令分为内部命令,外部命令
hash缓存表:linux系统下会有一个hash缓存表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。
优先级比较:内部命令>缓存命令>外部命令
3,Linux的哲学思想(优点)
1)一切都是文件(包括硬件)
2)系统中拥有小型单一用途的程序(一个程序只负责做好自己的本职工作)
3)当遇到复杂任务时,不同功能用途的程序组合起来完成
4)避免令人困惑的用户界面,就是没有复杂的图形界面
5)连配置文件都存储在文本中,方便增删改查
6)不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型
4,Linux基础命令
登录:
Login: root(管理员名)
Password:linux的密码
root:用户名
localhost:主机名
~ :家目录
# :管理员
$:普通用户
关机:shutdown, init 0,poweroff
重启:shutdown, init 0,poweroff
shutdown:
Shutdown now ← 立刻关机
shutdown +10 ←10分钟后关机
shutdown 10:00 ← 在10:00时关机
关机后自动重启:-r 参数设置关机后重新启动。
范例如下:
shutdown -r now← 立刻关闭系统并重启
shutdown -r 23:30← 指定在23: 30时重启
5,Linux命令行格式
格式:命令字空格[选项]空格参数
1)命令字:是整条命令中最关键的一部分,唯一确定的一条命令
2)选项
短格式选项使用“-”符号引导,后面一般接字母
长格式选项使用“--”符号引导,后面一般接单词
3)参数:命令字的处理对象
可以是文件名,目录(路径)名,用户名或处理结果等
个数可以是0到多个
;可以隔开命令,执行多个命令
6,编程Linux命令行的辅助操作
快捷键 功能
tab键 自动补齐(两次可以显示所有选项)
反斜杠“\” 强制换行
Ctrl+a 光标移到最前
Ctrl+e 光标移到最后
Ctrl+u 清空到行首
Ctrl+k 清空到行尾
Ctrl+w 从当前光标删除到开头
Ctrl+d 从当前光标删除到末尾
Ctrl+s/Ctrl+q 锁屏/解锁
Ctrl+l 清屏
Ctrl+c 取消本次命令编辑
向上下箭头 回看执行过的命令
7,Linux获得命令帮助的方法
内部命令help---查看shell内部命令的帮助信息
命令的“--help”选项---适用于大多数Linux外部命令
使用man命令阅读手册页
使用上下方向键滚动一行文本
使用pageup和pagedown键翻页
按Q或q键退出阅读环境
按"\"键查找内容
info也可以查看相关的帮助信息
pwd可以查看当前路径
Linux中“.”表示隐藏文件 代表自己当前目录
“..”表示上层目录
绝对路径与相对路径
绝对路径 从根目录开始,依次将各级子目录的名字组合起来,形成的路径就称为某个文件的绝对路径。
相对路径 相对当前所在路径的位置,
二,Linux的基础命令
1,切换文件目录-cd
cd 目标位置 切换到目标位置
cd ~ 切换到家目录
cd 切换到家目录
cd - 切换到上一次执行cd命令之前所在的目录
cd / 切换到根目录
cd . 切换到当前目录
长度 .. 切换到上一层目录
2,列表显示目录内容-ls
ls -l 长格式显示
ls -a 显示所有文件(包括隐藏文件)
ls -A 显示所有文件(不包括隐藏文件)
ls -d 只显示指定目录
ls -h 友好显示
ls -R 递归将当前目录下所有子目录文件显示出来
ls --color 色彩显示设置
通配符:主要匹配文件夹名称,他不能对文本内容进行匹配
* 匹配所有非隐藏的字符无论多长或多短,但是不能匹配“.”开头的文件
? 匹配任意单个字符,必须是1个
{1..10} 1到10
{a..z} a,b,c ....z
{A..Z} A,B,C....Z
[a-z,A-Z,0-9] 匹配所有数字字母,可以不加逗号
[a-z] 表示a-z,A-Y,表示a,A,b,B.....a。不包含Z
[A-Z] 表示A,b,B.....z,Z。不包含a
[a-Z] 表示所有大小写字母
[:upper:] 所有大写字母
[:lower:] 所有小写字母
[^] 匹配指定字符范围外的任意单个字符
[:digit:] 所有数字,相当于0~9
\ 转义符表示原来的意思
ls在工作环境中不单独使用和通配符结合使用
3,设置别名-alias
格式:alias 命令别名=“命令”
只是临时修改,重启后会失效想要永久生效只有修改配置文件
例: alias 1=ls
4,统计目录及文件空间占用情况-du
格式: du [选项][文件或目录]
du -a 统计所有,显示每个项目
du -s 统计文件夹总共大小,总量大小
du -h 友好显示默认以KB计数显示统计大小
du 不能即显示总量同时又显示每个项目
查询文件命令有:ls ,pwd,cd ,alias ,du
5,创建新目录-mkdir
格式:mkdir [选项] 目录位置及名称 ----目录位置及名称一定要有
mkdir -p fff/ddd/ccc 递归创建新目录
创建新目录要求:
1)文件名最长255个字节
2)可以使用特殊字符除了"\"和空字符------一般不用特殊字符创建
6,创建空文件-touch
1)可以创建新文件
2)文件已有的情况下可以刷新文件的时间(主要用途)
例:touch passwd 创建新文件
touch passwd 已有文件就是刷新文件时间
stat passwd 可以显示文件的详细信息
创建文件命令:touch 1.txt , vim 1.txt , echo “文件名” > 1.txt 三种方法
7,创建连接文件-ln
为文件或目录建立链接文件
格式:ln [-s] 源文件或目录... 链接文件或目标位置
加[-s] 是创建软链接
不加[-s] 是创建硬链接
创建软链接要在绝对路径下创建
硬链接无法对文件夹作链接,生产环境中一般不用硬链接
软链接和硬链接的区别:
对比项 软链接 硬链接
本质 本质不是同一个文件 本质是同一个文件
iNode 不同 相同
连接数 删除新建不会改变 创建新的硬链接链接数会增加,删除硬链接连接数会减少
文件夹 支持 不支持
文件类型 链接文件和源文件无关 和源文件相同
文件大小 源文件路径的长度 和源文件相同
硬链接:相当于复制了源文件,文件与源文件相同
软链接:作了快捷方式依托于源文件,如果源文件没有了链接也就失效了
8,复制文件或目录-cp
格式:cp [选项]... 源文件或目录... 目标文件或目录
cp -f 覆盖目标同名文件或目录时不进行提醒,直接强行复制
cp -i 覆盖目标同名文件或目录时提醒用户确认
cp -p 复制时源文件的权限,属主及时间标记等属性不变
cp -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
cp -a -a比-p更加的强大,可以保存软链接属性
cp默认=cp -i
cp -i 优先级高于cp -f
复制两个及以上目标不能是文件需要是文件夹/目录,而且文件夹/目录必须存在
9,删除文件或目录-rm
格式:rm [选项] 要删除的文件或目录
在生产过程中一般不用rm命令而是用mv命令代替
默认rm=rm -i
rm -f 不提示用户,直接删除
rm -i 删除时提醒用户确认
rm -r 递归删除所有文件及子目录
10,移动文件或目录-mv
格式:mv [选项]... 源文件或目录... 目标文件/目录
有移动文件和改名的作用
例:mv al /mnt 把al文件移至 /mnt 下
mv 1.txt 2.txt 把1.txt该名成2.txt
mv 不可以批量改名字
rename 可以批量改名字
格式:rename 旧名字 新名字 源文件名
例:rename txt txt.bad *.txt 把.txt后缀名字改为后缀txt.bad
11,查找命令/文件存放的目录-which
搜索范围由环境变量PATH决定
格式:which 命令/程序名
12,查找文件或目录-find
find是采用递归的方式,根据目标的名称类型大小等不同属性进行精确查找
格式:find [查找范围] [查找条件表达式]
常用查找条件类型
查找类型 关键字 说明
按名称查找 -name 根据目标的名称进行查找,允许使用“*”“?”通配符
按文件大小查找 -size 根据目标文件的大小进行查找
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按文件类型查找 -type 根据文件类型进行查找
文件类型:普通文件(f)目录(d)块设备文件(b)字符设备文件(c)
例:find /etc -name passwd
命令字 查找范围 匹配条件 文件名
find:即时查找,精确查找,查找的条件比较多速度慢
locate:不是即时的 是从系统数据库中查找,模糊匹配,速度快
各表达式之间使用逻辑运算
“-a” 表示而且(and)同时满足两个条件查找
“”-o“表示或者(or)满足任何一个条件查找
例:find /boot -size +1024k -a -name "vm"
总结:
1,shell的作用 2,Linux命令中内部命令和外部命令的区别 3,Linux的优点 4,Linux的命令格式
5,编程Linux命令行的辅助操作 6,Linux命令获得帮助的方法。Linux命令中查询命令,创建命令,删除命令,查找命令都需要一些练习。