程序:执行某些特定任务的代码 内核属于操作系统的一部分,调度硬件
shell是将人类语言转化成计算机可识别的系统语言交给内核,内核在调度硬件
1.在Linux系统中安装的命令系统是怎么知道他的位置的?
我执行ls命令第一次 (1)先判断他是内部命令还是外部命令
(2)如果是内部命令则直接在bash中执行
(3)如果是外部命令先查看hash表一个一个表中找,找到执行找不到报错。
2.type命令区分内部还是外部
type cd cd是shall的内嵌 所以是内部命令
type useradd (外部)
3.echo即是内部命令也是外部命令
4..开头的都是隐藏文件
(1.)ls -a 显示隐藏文件
(2.)ip a 显示网卡
(3.)ps aux进程
5.tab键按一次只有一个选项补全 按两次显示所有结果
上下键查找之前打过的所有命令
ctrl+l清屏 ctrl+c 终止命令 ctrl +u从光标处清空到开头
root:当前用户家目录
localhost:当前主机名
#表示当前用户为管理员用户
绝对路径:以根目录开头的路径
相对路径:不以根目录开头
.代表自己 ..代表自己的上一级目录 pwd 显示当前目录
ls- l 文件格式
d代表目录
f普通文件
l 连接文件
b 块设备 硬盘
s 套接字
p 管道文件
c 字符文件 (单个字符)
ls
ls -R 表示递归
ls -h 表示人性化显示
ls -a 显示隐藏文件包括. ..
ls -A 显示隐藏文件不包括. ..
ls -s 以文件容量大小排序
ls --color 显示颜色
ls -i 显示indoe号
ls -l 文件属性比较详细
ls -d 显示当前目录的属性
cd 切换目录 cd 加文件夹名称
cd - 回到上一次目录
cd~ 会到当前目录的家目录
alias 别名 (将常用一些复杂的命令简单化)
alias 自行定义的命令='常用复杂的命令'
如何创建alias
例如,设置一个别名列出所有文件包括隐藏文件,别名为zhou:
[ root@server1 ~]# alias zhou='ls -al'
然后在输入 zhou 命令就可以了看到了
删除别名 unalias 别名命令
du 查看文件目录占用磁盘的空间大小
du -a 分开显示每个文件的大小
du -s 显示当前文件夹的总大小
du -h人性化显示
面试题:统计/etc目录下第一层文件夹占用多少磁盘空间?
du -d1 -d代表目录层数 1代表目录第一层
mkdir (创建文件夹)
mkdir -p 递归创建文件夹 mkdir zyz 创建一个名为zyz文件夹 把zhou文件移动到zyz 文件夹中 mv zhou.txt zyz/
mkdir -v 显示详细过程
touch (创建文件)
touch zhou.txt 创建一个名为zhou的文件 mv zhou.txt scholl.txt 把zhou.txt文件改 为 scholl.txt的文件
touch 1.txt touch{1..10}.txt
软链接和硬链接
ln -s 源文件名称 软链接文件名称
ln -s /etc/file1/ ~/web 给etc目录下的file1文件创建软连接 一定要绝对路径
创建到哪呢 家目录下的web文件夹
$ ln 源文件名称 硬链接文件名称
创建 一个文件建立硬链接
touch file1
ln file1 file2 实现file1与file2硬连接
cp cp fail1 fail2 即将fail1的文件复制到fail2中
cp /etc/passwd ./
-f 有相同文件时强制覆盖不提醒
-i 有相同文件时覆盖提醒
-p 保留文件的源权限
-a 保留权限更强大包括链接文件的属性也可以保留建议用-a
mv 移动 &改名
例如;mv passwd passwd1 (将passwd改为passwd1)
which 只能找命令的位置
/user/local/sbin:/usr/local/bin:/usr/bin:/root/bin
面试题:
我磁盘空间满了,我删除了一个5G的文件,但是空间没有增加5G怎么处理?
答:1.有别人占用了这个文件
2.杀掉打开这个文件的进程
find 查找文件
locate(扩充了解)
1.模糊查询
2. 不是实时查询 (应用范围小但是优点巨快 ) updatedb 刷新数据库
find
find 是查找文件 l
基本格式:
find[查找范围] [查找条件表达式]
[查找范围]:如果不写 范围 代表默认当前目录
1.查找条件表达式 -name
find . -name "test.txt" .代表路径 test.txt 代表文件名
(1) 查找家目录下名字为test.txt的文件
find /home -name "test.txt"
find也可以搭配通配符使用
(2)查找家目录下名字为.txt前面4个字符的文件
find /home -name "????.txt"
命令 查找范围 查找条件表达式(查找名字是以vm开头的文件)
2.按文件大小查找文件 -size K M G
查找boot目录下 小于1M的文件
find /boot -size -1M
查找boot目录下 大于1024k的文件
find /boot -size +1024K
3.按文件属主查找 属主:文件的拥有者 -user
找到home目录下属于zhangsan用户的文件
find /home/ -user zhangsan
4.按文件类型查找 -type f(普通文件)d (目录) c(字符文件) b(块设备)
5.按照 indoe号查找 -inum
要先知道indoe号 #find -inum 9243885
6.按照目录层级查找文件
-maxdepth level -mindepth level
#find /etc/ -maxdepth 2 -mindepth 2 #只看第二层
7.天数查找文件
#find /boot/ -mtime +7 -type f -size +1M -delet
查找boot文件下大于7天 文件类型为普通文件且文件大小为1M且删除的文件
处理动作: 默认是:
1. print 输出屏幕让你看一下
2. ls 显示详细信息
3. delete 直接删除
4. ok 连接符 会询问
5. exec 连接符 不会询问 find -name "*.txt" -ok mv {} /mnt \;
重要目录
1. 根(/)相当于一个入口,文件的总入口,也是唯一入口
2. bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 ----------------命令
3. sbin 管理员可使用的二进制文件---------------------------------命令ls cd useradd
4. boot 系统内核、启动文件
5. dev 硬件文件(黄色)
6. etc 配置文件等同于windows 注册表,一般都是文本文件
7. usr应用程序和操作系统相关的文件 bin sbin
8. var/log日志文件,数据变化的
9. proc 主要保存系统的内核、进程、外部设备状态和网络状态等
10. mnt 默认挂载点
11. opt 第三方应用程序安装所在目录
12.cat 查看文件内容
cat -n 显示行号
cat -A 显示隐藏文件
-b 空行不标序号
-s 压缩空行 将多个空行压缩成一个空行
-n 指定看的行数
tail -f 实时动态跟踪 默认每秒刷新后10行 管道符