Linux
Linux
Linux的哲学思想
1.一切都是文件的形式(包括硬件)
2.系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
3.当遇到复杂任务,通过不同功能用途的程序组合起来完成
4.连配置文件都存储在文本中,方便增删改查
5.避免令人困惑的用户界面就是没有复杂的图形界面
6.不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型
基础知识
root 表示用户
localhost 主机名
~ 家目录
#管理员用户
root ~ root的家目录
opt 当前目录
关机命令:
halt 立刻关机
poweroff 立刻关机
shutdow -h now 立刻关机(root用户使用)
shutdown -h 10 10分钟后关机
重启:
reboot
init6
shutdown -r now
修改语言:
LANG=zh_CN.UTF-8
echo $LANG 设置中文
LANG=en_US.UTF-8
echo $LANG 设置英文
shell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linux系统时,自动加载一个shell程序
Bash是Linux系统中默认使用的Shell程序
Linux命令的分类
内部命令与外部命令的区别
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令 ,也成为内建(buit-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存 | 必须知道其对应的文件位置,由shell加载后才能执行 |
Linux命令行的格式
通用的命令行使用格式
1.命令字 [选项] [参数] 区分大小写
命令字:是整条命令中最关键的部分
唯一确定一天命令
2.选项:短格式选项:使用“-”符号引导 多个单字符选项可以组合在一起使用
长格式选项:使用“–”符号引导
3.参数
命令字的处理对象
可以是文件名,目录(路径)名或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
编辑Linux命令行的辅助操作
快捷键 | 功能 |
---|---|
tab键 | 自动补齐(两次可以显示所有选项) |
反斜杠\ | 强制换行 |
ctrl+a | 光标移到最前 |
ctrl+e | 光标移到最后 |
ctrl+U | 清空至行首 |
ctrl+K | 清空至行尾 |
ctrl+W | 从当前光标删除到开头 |
ctrl+d | 从当前光标删除到末尾 |
ctrl+L | 清屏 |
ctrl+C | 取消本次命令编辑 |
ctrl+s/q | 锁屏/解锁 |
向上下箭头 | 回看执行过的命令 |
获得命令帮助的方法
内部命令help:查看shell内部命令的帮助信息
命令的“–help”选项:适用于大多数linux外部命令
使用man命令阅读手册页:使用↑↓方向键滚动一行文本
使用Page up和page down键翻页
按Q或q退出阅读环境
按\查找内容
百度
查看当前的目录-pwd
显示用户当前所在的工作目录位置
pwd
示例:[root@localhost~]# pwd
/root
切换工作目录-cd
将用户的工作目录更改到其他位置
格式 | 说明 |
---|---|
cd目标位置 | 切换到目标位置 |
cd~ cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
绝对路径 / 根 唯一入口
相对路径
列表显示目录内容-ls
显示目录中内容,包括子目录和文件相关属性信息
ls [选项] [文件过目录…]
常用选项:-l 长格式
-a 显示所有文件包含隐藏文件
-A显示除隐藏的文件
显示指定目录-d
-R递归方式将当前目录下的所有子目录文件显示出来
通配符
符号 | 效果 |
---|---|
? | 匹配一个字符 |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配“.”开头的文件,即隐藏文件 |
{1…10} | 1到10 |
{a…z} | a b c…z |
{A…Z} | A B C…Z |
[123] | 去取其中之一有就显示没有也无所谓 |
[0-9] | 匹配数字范围 |
|转义符,表示原来的意思 | |
[[:lower:]] | 小写字母表示a-z |
[[:upper:]] | 大写字母表示A-Z |
[^zhoh] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
通配符主要匹配文件夹名称,不能对文本内容进行匹配
设置别名-alias
通过别名机制简化常用的,比较长的命令
alias 命令别名=命令
示例:设置myls为ls-alh的别名
alias myls=‘ls-alh’
统计目录及文件空间占用情况-du
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h 以更人性化的方式(默认以kb计数,但不显示单位)显示出统计结果
-s 只统计所占用的空间总的大小,而不是统计每个子目录,文件的大小
创建新目录-mkdir
创建新的空目录
mkdir [选项] 目录位置及名称
示例:
在当前目录下创建名为public_html的子目录
mkdir public_html
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p/aa/bb/cc
创建空文件-touch命令
更新文件的时间标记
经常用于创建多个新的空文件
touch 文件…
示例:
创建两个空文件,文件名为aa和bb
touch aa bb
创建链接文件-ln
为文件或目录建立链接文件,类似于Windows系统的快捷方式
链接文件类型
软链接(又称符号链接)一定要绝对路径
硬链接 无法对文件做链接
ln [-s] 源文件或目录…链接文件或目标位置
示例
ln -s/bin/bzip2/bin/wx/
对比项 | 硬链接 | 软链接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,连接数会增加,删除硬链接,连接数减少 | 删除新建不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问链接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径长度 |
复制文件或目录-cp
将需要复制的文件或目录重建一份,并保存为新的文件或目录
cp[选项] …源文件或目录…目标文件或目录
常用选项
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限,属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a包括软链接都能复制比-p更强大
删除文件或目录-rm
删除指定的文件或目录
rm[选项]要删除的文件或目录…
常用选项
-f -i -r
示例
rm -rf public_html/grub/
rm -r public_html/apg.conf
移动文件或目录-mv
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv[选项]…源文件或目录…目标文件或目录
示例
mv mytouch mkfile
mv mkfile public_html/
总结
熟记命令的格式和常用的命令
分清每个命令的作用和效果