目录
Xshell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登入Linux系统时,自动加载一个Shell程序
Bash是Linux系统中默认使用的Shell程序
Linux下一切都是文件(文件位于/bin/bash)
接收用户输入的命令
解释命令
传递给系统内核执行
当用户在操作界面时,打开文件的过程(xshell)就在进行翻译,(例如:把人的语言转换成二进制数)传送到内核(只理解二进制数组成的),再调用硬件执行命令,反馈(展示)回来
Linux命令的分类
内部命令与外部命令的区别
内部命令
集成于shell解释器程序内部的一些特殊指令,也称为内建(built-in)指令
属于shelld1一部分
没有单独对应的系统文件
自动载入内存,可以直接使用
外部命令
Linux系统中能够完成特定功能的脚本2文件或二进制程序
属于shell解释器程序之外的命令
每个外部命令对应了系统中的一个文件
必须知道其对应的文件位置,有shell加载后才能执行
内部命令存放于 echo $PATH 一个一个找,找到为止,找不到就报无命令
命令:
命令字
是整条命令中最关键的一部分
唯一确定一条命令
选项
短格式:使用“-”符号引导
长格式选项:使用“--”符号引导
参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
编辑Linux命令行的辅助操作
Tab键:自动补齐
反斜杠\:强制换行
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl +C组合键:取消本次命令编辑
命令帮助
内部命令help
查看shell内部命令的帮助信息
命令的“--help"选项
适用于大多数Linux外部命令
使用man命令阅读手册页
使用“↑”“↓”方向键滚动一行文本、使用Page Up 和Page Down键翻页、按Q或q键退出阅读环境、按“\”键查找内容。
生成文本命令
man ls l col -b >lshelp.txt
在这个例子中,col是一个命令程序,用于过滤文本中的一些特殊控制字符;另外还使用了"|"和">符号,这是 shell环境中的两种特殊功能应用,分别称为管道、重定向输出。其含义及作用如下所述。
管道:用竖杠符号"|"表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入)。就好像一根管道一样,从这头塞入内容,从另一头出来。
重定向输出:用大于符号">"表示,前面的命令成功执行以后,其屏幕输出结果将保存到">"号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。
sz lshelp.txt
sz -b lshelp.txt
-b, –binary 用binary的方式上传下载,不解释字符为 ascii
小结
Shell在用户和内核之间充当“翻译官”
Linux命令分为内部命令和外部命令
内部:集成于shell解释器程序内部的一些特殊指令,也称为内建(built-in)指令
外部:Linux系统中能够完成特定功能的脚本文件或二进制程序(软件功能)
切换工作目录
将用户的工作目录更改到其他位置
cd 目标位置 :切换到目标位置
cd ~ 、cd 若不指定目标位置,则切换到当前用户的宿主目录
cd - 返回到上一次执行cd命令的所在目录
相对路径:
直接使用目录名或者文件名 示例(echo)
说明:表示当前工作目录中的子目录,文件的位置
以一个点号“."开头 示例(./echo)
说明:表示以当前的工作目录作为起点
以两个点“.."开头 示例(../echo)
说明:表示以当前目录的上一级目录(父目录)作为起点
以“~用户名”形式开头 示例(~echo)
说明:表示以指定用户的宿主目录作为起点
绝对路径:/ 以根开始
列表显示目录内容-ls
命令字 [选项] [参数]
操作 功能 要执行的对象
-l #将文件信息属性详细列出,通常直接使用1l,因为设置了别名
-R #递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d #查看目录本身信息,不显示目录下的内容
-i #显示inode值
-h #友好显示
-a #遍历所有文件及目录
(ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)-A#跟-a唯一的不同是不列出当前目录和上一层目录
ls -lh 显示文件的详细信息
颜色区别 vim /etc/DIR_COLORS 颜色参数
色数据文件 TXT、天蓝色连接文件、绿色可执行文件、黄色块设备文件、黑色是数据文件、
红色压缩包文件
- 普通文件
d 目录文件 directory
b 块设备文件 block
p 管道文件 pipe
s 套接字,文件 socker
l 符号链接 link
ls .* 显示上层目录和当前目录文件
设置别名 alias
通过别名机制简化常用的、长命令
Alias 命令别名=命令全称
vim /root/.bashrc
永久保存启动时生效
init 6 重启
unalias 删除、卸载
在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含:或特殊宁符时才需要引号
unalias ll.册除别名
- \加命令 原始命令
- 在/etc/bashrc会影响全部
- /root/.bashrc只影响当前用户
别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
统计目录及文件空间占用情况du
-h:显示出每一个文件以及大小,单位是KB,MB,GB
-s:显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来
du -sh*
生产环境常这样搭配使用统计当前目录下所有文件的大小并显示出来,常用于磁盘水位过高的情况
Linux的常用命令
创建新目录mkdir
mkdir /opt/sj #创建目录,注意:父目录必须存在
-p :创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建
创建空文件touch
文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
文件不存在:创建新文件
touch [文件名]
touch [文件名] [文件名]
[ root@localhost opt]# touch{1,2,3 }
[root@localhost opt]# ls
1 2 3 rh
[rootelocalhost opt]# touch {1,2,3 ].txt
创建链接文件 ln
软链接,快捷方式
可以跨任何设备连接,可以支持文件夹、都可以,
删除源文件不能访问
硬链接,备份一个,删掉后还能用=备份
不可以跨分区建立连接,无法对文件夹创建
删除硬件链接可以继续访问硬链接
注:相对路径与绝对路径 建议绝对路径
[root@zxc home]# echo "this is zxc" > demo.txt
[root@zxc home]# ln -s demo .tut test.txt
删除 demo.txt验证
[root@zxc home] # echo "this is zxc" > demo1.txt
[root@zxc home] # echo "this is zxc2" > demo2.txt
[ root@zxc home] # ln demo1.txt test2.txt
[root@localhost ~] # mkdir /bin/wx
[root@localhost ~]# ln -s / bin/bzip2 /bin/wx
[root@localhost ~]# ln -lh /bin/wx/bzip2
复制文件或目录cp
-p:连属性一起复制
-a:保留权限。复制链接本身,递妇复制
-r:递归复制
-f:强制复制。不与用户交互
-i:提醒覆盖
cp的高级用法: cp -v filel.txt {, .bak}常用于备份
删除文件或目录rm
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(三思)。
-f:删除文件或目录时不进行提醒,而直接强制删除
-ir -rf
移动文件或目录 mv
mv 选项 ... 源文件或目录... 目标文件或目录
查找命令/文件存放目录 which
搜索范围有环境变量 PATH 决定 (echo $PATH)
which 命令|程序名、which -a 命令|程序名
find 命令多个查找
-a 表示 而且(and)
-o 表示 或者(or)
-size +4M 表示4M 以上 不包括4M
-size 4M 表示3M~4M 不包括3M
-size -4M 表示3M以内 包括3M
1G 1024 代表1023M - 1024M 不包括1023M
Find工具-type参数案列:
find / boot -type d
find/data/ -type d#查找/data/目录下的文件夹;
find/data/ ! -typed#查找/data/目录下的非文件夹;find/data/ -type l#查找/data/目录下的链接文件。
find /data/ -type d|xargs chmod 755 -R#查目录类型并将权限设置为755;
find /data/ -type f|xargs chmod 644 -R #查文件类型并将权限设置为644;
查找存在的用户的文件
find /home -user 用户名
find /home -user 用户名 -group组名
设置 find命令的查找条件时,若需要使用"*"或"?"通配符,最好将文件名用双引号括起来,以避免当前目录下符合条件的文件干扰查找结果
总结:
Shell是一种特殊程序
Linux命令的分类、格式及使用方法
Linux常用命令
查看及切换目录(pwd、cd、ls、du)
创建目录和文件(mkdir、touch、In)
复制、删除、移动目录和文件(cp、rm、mv)
查找目录和文件(which、find)