目录
LINUX系统下一切皆是文件
shell
linux系统中运行的一种特殊程序
在用户和内核之间的翻译官(解释器)
用户登录linux系统时,自动加载一个shell程序
文件位于/bin/bash中
过程:
用户输入命令,传递给shell,shell解释命令(二进制),
传递给系统内核,内核识别二进制,调用硬件执行。
内部命令:
集成于shell解释器程序内部的一些特殊指令,亦称之为内建指令
属于shell的一部分
没有单独对应的系统文件
自动载入内存,可以直接使用
常驻内存,执行效率高
外部命令:
能够完成特定功能的脚本文件或二进制程序
属于shell解释器程序之外的命令
每个外部命令对应系统中的一个文件
必须知道其对应的文件位置,有shell加载后才能执行
从硬盘中调用指定文件去执行
enable命令
查看内部命令:enable
禁用内部命令:enable -n
type cd cd是shell的内嵌(内部命令)
type -a ll ll 是 `ls -l --color=auto' 的别名(外部命令 )
whereis ls 查看ls命令在哪个目录下ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
type -a echo echo 是 shell 内嵌,echo 是 /usr/bin/echo
第一次命令执行完后,存在缓存,下次可快速执行
hash命令
hash 查看命令执行次数 -d清除指定命令缓存 -r清除hash表
命中 命令
3 /usr/sbin/service
1 /usr/bin/hostname
which ping /usr/bin/ping 查看命令路径
命令行格式
命令字 【选项】【参数】[英文字符区分大小写]
命令字:是整条命令中最关键的一部分,唯一确定一条命令
选项:短格式选项:使用’-‘符号引导
长格式选项:使用’--‘符号引导
参数:命令字的处理对象
可以是文件名,目录(路径)名或用户名等内容
个数可以是零到多个
编辑Linux命令行的辅助操作
Tab键:自动补齐
反斜杠"\":强制换行
ctrl+u组合键:清空至行首
ctrl十K组合键:清空至行尾
ctrl十L组合键:清屏
ctrl十c组合键:取消本次命令编辑
ctrl+E组合键:光标跳到行尾
ctrl+A组合键:光标跳到行头
获得命令帮助的方法
内部命令help:查看Shell内部命令的帮助信息
命令的"--help”选项:适用于大多数Linux外部命令
使用man命令阅读手册页
使用“个”,“!"方向键滚动一行文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境
\键查找内容
man命令
man ls l col -b > lshelp.txt
在这个例子中,col是一个命令程序,用于过滤文本中的一些特殊控制字符;另外还使用了"|I"和">"符号,这是 shell环境中的两种特殊功能应用,分别称为管道、重定向输出。其含义及作用如下所述。
管道:用竖杠符号"|"表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入)。就好像一根管道一样,从这头塞入内容,从另一头出来。
重定向输出:用大于符号">"表示,前面的命令成功执行以后,其屏幕输出结果将保存到">"号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。
总结
1.Shell在用户和内核之间充当“翻译官”
2.Linux命令分为内部命令和外部命令
3.获得Linux命令帮助的方法:help或man
ls命令
列表显示目录内容ls (常用选项、可结合通配符)命令字
[选项] [参数]
操作 功能
要执行的对象
-l #将文件信息属性详细列出,通常直接使用ll,因为设置了别名
-R #递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d #查看目录本身信息,不显示目录下的内容
-i #显示inode值(字节)
-h #友好显示文件大小
- a#遍历所有文件及目录
( ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-A#跟-a 唯一的不同是不列出当前目录和上一层目录
ls -lh
ls -ld(只显示当前文件夹具体信息)
文件所有者 属组 文件大小
xshell颜色区别
ls --color=no 设置为无
vi /etc/DIR_COLORS设置文件颜色
黑色数据文件,
深蓝色是目录,
绿色可执行文件,
黄色块设备文件,
红色压缩包,
天蓝色连接文件(快捷方式),
普通文件
d 是目录(drrectory)
b 块设备block
p 管道文件pipe
s 套接字文件socket
l 符号链接文件link
通配符
"?"匹配一个字符
"*"匹配所有的文件,不匹配 . 开头的隐藏文件
. * 包括删除目录
alias命令
alias别名
alias lh='ls -lh'设置lh为ls -lh的别名
unalias lh 删除别名
vi /root/.bashrc进入后
编辑别名,永久保存
du命令
du 统计目录及文件空间占用情况
-a统计磁盘空间占用时包括所有的文件
-h友好显示
-s显示占用空间的总大小(文件或整个目录的大小)
du -sh *具体显示文件占用大小
mkdir命令
创建新的目录
mkdir 【选项】目录位置及名称
-p 一次性创建嵌套的多层目录
mkdir -p /aa/bb/cc
mkdir {a..z}
touch命令
创建文件
touch 文件
touch aa bb创建两个空文件,名为aa和bb
echo “xxxx.txt”> xxx
vi直接编辑文件 vi aa.txt
软硬链接区别
软链接:ln -s 相当于快捷方式,源文件删除后,无法查看,可以跨任何设备,支持文件夹
硬链接:ln 不能跨设备,建立链接,无法对文件夹创建
cp命令
复制文件或目录
cp 【选项】 源文件或目录 目标文件或目录
目录需要加-r 递归
cp a.txt /dev/ 文件可以直接执行
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限,属主及时间标记等属性不变
-r 复制目录时必须使用选项,表示递归复制所有文件及子目录
-a 保留权限
cp -v 常用于备份
rm命令
删除指定的文件或目录
rm 【选项】 删除的文件或目录
-i 删除时提醒用户确认
-r 递归删除整个目录树
-f 不提醒,直接强制删除
删除空目录 rmdir
mv命令
移动文件或目录/改名mv
用法:mv [文件名] [目录名]
mv [文件名] [文件名]
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示
当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作
find命令
find 【查找文件或目录位置】 【查找条件类型】
-name 按名字查找
-size 按文件大小查找
-user 按文件属主查找
-type 按文件类型查找
-a 表示而且
-o 表示或者
which命令
查找命令/文件存放目录which
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。