linux 基础知识及命令
根目录
- ''
'/boot' 系统启动目录,200MB 内存应该空余几十兆,
在形式上boot etc 等目录是根目录的子目录但在硬盘上却有自己的独立存储空间,即使是把其他目录写完,boot目录也不受影响,系统可以正常启动
ls命令
- -a 显示所有文件包括隐藏文件
- -l 文件的详细信息
- -d 查看目录的属性
- -h 按照标准的KB,MB,GB等显示文件大小
- -i 显示inode
这些命令不加文件默认会操作当前文件夹下所有文件
所有命令都是`命令 [选项] [参数] '
这种格式 []代表可选
文件处理目录
mkdir -p[目录名]
make directories 创建文件夹
-p 创建多级目录
mkdir -p dirfather/dirson
会创建dirfather/dirson 两级目录
cd
change directory切换目录
control+l 清屏
- cd ~进入用户的hone目录
- cd - 进入上次目录
- cd .. 进入上一级目录
- cd . 进入当前目录
相对目录与绝对目录
- 相对目录是参照当前目录
- 绝对路径是参照更目录
pwd
print working directory 输出工作目录
remdir [目录名]
remove empty directory 删除空文件夹
只能删除空目录
rm -rf [文件或目录]
- -r 删除目录
- -f 强制
cp [选项] [源文件或目录] [目标目录]
copy 拷贝
选项:
- -r 赋值目录
- -p 连带文件属性赋值
- -d 若源文件是链接文件则赋值链接属性
- -a 所有选项的集合 相当于-pdr
cd name1 /路径/name2 这样称为改名复制
mv [原文件或目录] [目标目录]
move 剪切移动
- 可以用于改名,mv prename new name
常用目录
- / 根目录
- /bin 命令保存目录 根目录和/usr下都有bin
- /lib 存放一些linux的库函数
- /mnt 系统挂载目录
- /home 普通用户家目录
- /root 超级用户家目录
- /tmp 存放一些临时文件
- /sbin 存放超级用户的命令
- /dev 设备文件保存目录,硬件信息
- /etc 配置文件保存目录
- /boo 启动目录,启动相关目录
- /media 挂在目录
- /proc 直接写入内存
- /usr 系统资源保存目录
- /var 系统相关文档内容
- /sys 系统相关文档内容
以上两个目录是用来保存内存的挂载点,不可进操作
以下四个目录都是用来保存系统目录的
- /bin
- /sbin
- /usr/bin
- /usr/sbin
bin 目录普通用户都可以使用
sbin 只有超级用户才可以使用
链接命令
ln -s [原文件] [目标文件]
link
选项
- -s (soft)创建软连接
软链接与硬链接
每个文件在文件列表中都有其对应的节点和文件信息,这些信息保存了文件内容所在的内存区块数等。
对文件做硬链接的时候,是将文件的节点和文件信息赋值了一份。所以原文件与连接文件拥有相同的节点。
对文件做软链接的时候,会在文件链表写一份节点文件信息指向内存块,而内存块的内容就是原文件的节点和文件信息
软硬链接修改都会引起文件内容的变化
对于删除原文件,硬链接可以访问继续,而软连接不可以访问。
在做链接的时候指定原文件时应该使用绝对路径
文件搜索
locate [文件名]
- /var/lib/mlocate 在此文件数据库中查
- updatedb 更新文件名数据库
块,但只能进行文件名搜索
- /etc/updatedb.conf 保存locate的搜索约束
whereis [选项] 命令名字
用于搜索命令的命令
选项:
- -b 只查找可执行文件
- -m 只查找帮助文件
which 命令名
用于查找命令以及它的别名
在命令行中执行命令是会在 echo $PATH下所设置的路径下查找,如果没找的就会提示command not found
find [搜索范围] [搜索条件]
选项:
-
-name 按照文件名查找
-
-iname 按照文件名不区分大小写查找
-
-user 按照文件所有者查找
-
-nouser 查找没有文件所有者的文件 有肯能是垃圾文件,又或者是U盘或者其他系统创建的文件等外来文件,又或者是系统 /sys 和/proc 目录下的重要文件
-
-group 按照文件所属的组查找
-
-mtime -n +n 按照文件更改时间查找 n天内 n那一天 n天前 同理还有 -atime -ctime 分别是访问时间和文件属性修改时间 与mtime 使用方法相同
-
-size 按照文件大小查找 单位:c字节,k 千字节, M 兆字节。 在查找中可用 -a(逻辑与) -o(逻辑或) 来表示多条件查找
find / -size +20k -a -59k
查找根目录下大小在20k~59k之间的文件
- -inum 按照文件结点查找
find . -name
通配符 :
-
*
通配所有字符,不限长度 -
[abc]
通配 abc中任意一个字符 -
[a-z]
匹配a到z范围 -
[^]
逻辑非 ,不匹配中括号内的任意一个字符 -
?
匹配任意一个字符,注意是只是一个字符
在使用通配符时应该用引号将文件名括起来
find [搜索范围] [搜索条件] -exec [操作] {} ;(注意 格式 '{} ;' 中间有个空格)
对搜索的结果进行操作
grep [选项] "字符串" 文件名
寻找文件中含有 "字符串"的 文件
选项:
- -i 忽略大小写
- -v 排除字符
经常配合find命令
man 命令名
帮助命令
进入帮助文档 按'/'后输入信息在帮助文档查找字符按'n'跳转下一个 ’shift+n’上一个
命令的帮助有级别
- 查看命令的帮助
- 查看内核可调用的函数的帮助
- 查看函数和函数库的帮助
- 查看特殊文件的帮助
- 查看配置文件的帮助
- 查看游戏的帮助
- 查看其它杂项的帮助
- 查看系统管理员可用的命令帮助
- 查看和内核文件相关文件的帮助
man -f 命令
查看命令有几个等级帮助
help shell命令
用于查看shell自带的命令如 cd
的帮助
info 命令
用于查看命令文档
- 回车 进入子帮助界面
- u 进入上层页面
- n 上一节
- p 下一节
- q 退出
压缩与解压缩
- 常用的压缩格式 .zip .gz .bz2 .tar.gz .tar.bz2
zip 压缩文件名 原文件
压缩指定文件
zip -r 压缩文件名 源目录
压缩指定文件夹
uzip -r 文件名
解压缩文件
gzip 源文件
压缩后原文件会消失
gzip -c 源文件 > 压缩文件
压缩后原文件保留
gzip -r 目录
压缩目录下所有问价不可压缩所有文件
tar -cvf 打包文件名 源文件
选项:
- -c 打包
- -v 显示过程
- -f 指定打包文件名
- -z 压缩为 .tar.gz
- -x 解压缩.tar.gz
tar -cvf name.tar name
tar -xvf name.tar
tar -zcvf name.tar.gz name1
tar -zxvf name.tar.gz
关机和重启
shutdown [选 项] 时间
选项:
- -r 重启
- -h 关机
其他关机命令
halt
poweroff
init 0
runlevel
当前执行系统级别
mount
查看系统已经挂载的设备
挂载光驱
mount /dev/sr0 /mnt
将光盘挂载到/mnt目录下
umount /mnt
卸载光盘
Shell 是什么?
- Shell 是命令行解释器,他为用户提供一个向内核发送请求以便运行程序的界面系统级程序,用户可以通过Shell来启动、挂起、停止甚至编写一些程序。
- Shell还是一个功能强大的编程语言,易编写,易调试,灵活性较强、Shell解释执行脚本语言,在Shell中可以之间调用Linux系统命令
echo 指定的文字
输出指定的文字
chome xxx(数字执行权限 文件名
赋予执行脚本执行权限
./shell.sh
赋予执行全权限后执行脚本文件
bash shell.sh
直接执行脚本
alias 命令=‘完全命令’
给完全命令起别名
比如:
alias ll='ls -l'
这样只是临时生效的若要永久生效要在根目录下/.bashrc
文件下载使用source /.bashrc
便会生效
ualias 命令
取消别名
常用快捷键
- ctrl+c 强制停止
- ctrl+l 清屏
- ctrl+a 光标移到的行首
- ctrl+e 光标移到到行尾
- ctrl+u 从当前删除到行首
- ctrl+z 命令进入后台运行
- ctrl+r 在历史命令中搜索
history [选项][历史命令或者保存文件]
选项:
- -c 清空历史命令
- -w 把缓存的历史命令写入历史命令保存文件 ~/.bash_history
历史命令的调用
- 上下箭头遍历
-
!123
执行第123条历史命令 -
!!
重复执行上一条命令 -
!xx
执行上一条以xx字符串开头的命令
> 输出重定向
将原本显示到显示器的内容以覆盖的方式保存到文件中
history > log
将历史命令写入log文件中
2> 输出重定向包括命令本身错误
>> 追加的方式保存
2>> 追加的方式保存报错命令本身的错误保存
类型 | 符号 | 作用 | 例子 |
---|---|---|---|
标准输出重定向 | 命令 > 文件 | 以覆盖的方式,把命令正确的输出输出到指定的文件中 | history > log |
命令 >> 文件 | 以追加的方式,把命令正确的输出输出到指定的文件中 | history >> log |
|
标准错误输出重定向 | 命令 2>文件 | 以覆盖的方式,把命令错误的输出输出到指定的文件中 | history 2>log |
命令 2>>文件 | 以追加的方式,把命令错误的输出输出到指定的文件中 | history 2>> log |
|
正确输出和错误输出同时保存 | 命令 > 文件 2>&1 | 以覆盖的方式,把命令正确和错误的输出输出到指定的文件中 | history >log 2>&1 |
命令 >> 文件 2>&1 | 以追加的方式,把命令正确和错误的输出输出到指定的文件中 | history >>log 2>&1 |
|
命令 &>文件 | 以覆盖的方式,把命令正确和错误的输出输出到指定的文件中 | history &>log |
|
命令 &>>文件 | 以追加的方式,把命令正确和错误的输出输出到指定的文件中 | history &>>log |
|
命令>>文件1 2>>文件2 | 把正确的输出保存到文件1中, 把错误的输出保存到文件2中 | ls -i file >>log1 2>>log2 |
多命令执行符
;
连接符
&&
命令之间逻辑与
||
命令之间逻辑或
管道符
命令1 | 命令2
命令1 的执行结果作为命令2 的操作对象
特殊符号
' '
单引号单纯指字符串
" "
双引号内 "$"、"" 和 "\"会有特殊意义,分别代表调用变量值,引用命令,转义符 ,其余无特殊意义
$()` 引用命令