文章目录
1.shell与linux的关系
1,LIUNX系统中运行的一种特殊程序
2,在用户和内核之间充当翻译官
3,用户登录linux系统时,自动加载一个shell程序
4,Bash是Linux系统中默认使用的Shell程序
shell文件位于/bin/bash 下
两者之间关系如图所示:
2.xshell常用的种类
常用的linux有以下七种:
bash :大多数linux默认使用的shell,所包含的功能几乎可以涵盖shell所具有的功能
csh :使用的是类C语法,其内部命令有52个,较为庞大,并已被/bin/tcsh取代
tcsh :语法与Brourne相同,同时具备了C shell的易用特点
ksh :是csh的增强版,与C shell 完全兼容
sh :是一个快捷方式,已经被/bin/bash所取代
nologin :指用户不能登录
zsh :目前Linux里面最庞大的一种shell,他有84个内部命令,使用起来较为复杂,一般情况下,不会使用
常用的bash路径命令为:
root@server1 ~]# which bash /找命令的路径
/usr/bin/bash
3.linux命令的种类
Linux命令分为两种,为:内部命令,外部命令
内部命令 | 外部命令 |
---|---|
集成于shell解释器内部的一种特殊命令也称为内建(built-in指令) | Linux系统中能够完成特定的脚本文件或二进制程序 |
属于shell的一部分 | 属于解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了额系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
4.Linux命令行格式
通用的命令行使用格式
命令字 {选项} {参数}
命令字
选项:+ 短格式选项: 使用“-”符号引导
+ 长格式选项:使用“--”符号引导
参数 + 命令字的处理对象
+ 可以是文件名,目录(路径)名或用户名等内容
+ 个数可以是零到多个
例如: ls -l /root 查看 root , ls --help 查看命令解释
<font color ="red">注意:命令区分大小写</font>
5.编辑命令行
编辑命令行的辅佐操作有以下几种快捷方式
Tab 键:自动补齐
反斜杠\:强制换行
Ctrl+U:清空至行首
Ctrl+K: 清空至行尾
Ctrl+L : 清屏
Ctrl+C: 取消本次命令编辑
6.获得命令帮助的方法
内部命令 help :查看shell内部命令的帮助信息
命令的“--help”选项 :适用于大多数Linux外部命令
使用man命令阅读手册页
会逐个解释参数的作用以及用法
7. 查看当前工作目录-pwd
显示用户当前所在的工作目录位置
[root@server1 bin]# pwd
/bin
8.切换工作目录-cd
将用户的工作目录更改到其他位置
格式 | 说明 |
---|---|
cd目标位置 | 切换到目标位置 |
cd ~ / cd | 若不指定目标位置,切换到当前用户的宿主目录 |
cd - | 切换到上一次执行cd命令之前所在的目录 |
绝对路径;完整路径(从根目录开始的路径)
相对路径:从当前路径出发到达目标路径
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录,文件的位置 | grub.conf |
以一个点号“.”开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号“…”开头 | 表示以当前目录的上一级目录(父目录)作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
9.列表显示目录内容-ls
显示目录中内容,包括子目录和文件相关属性信息
ls {选项} {文件或目录...}
常用选项
-l -a (显示所有文件) -A -d -h -R (递归显示所有子文件) -color
结合通配符
?:匹配文件名中的一个未知字符
* : 匹配文件名中的任意多个字符
例如:
[root@server1 ~]# ls -ln
[root@server1 ~]# rm ab?.txt //?删除只能代替一个字母
[root@server1 ~]# rm a*.txt //*表示多个字母
10.设置别名-alias
通过别名机制简化常用的,比较长的命令
格式: alias 命令别名 = 命令文件名
例如: 将文件12345678 的别名设置为 123
[root@server1 ~]# ls -ln
[root@server1 ~]# alias 123="12345678" //将别名设置为123
[root@server1 ~]# alias -p //显示设置的别名
alias 123='12345678'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
[root@server1 ~]# alias 123 //查看某个别名代表的含义
root@server1 ~]# unalias 123 //删除当前设置的别名,此方法只针对当前状态下 的设置,如果退出再进入则无效
11.指定目录或文件所占用磁盘空间大小du
du -a : 统计磁盘空间占用时包括所有文件,而不仅仅只统计目录
du -h: 以更人性化的方式(默认以B计数,但不显示单位)显示出统计结果
du -s :只统计所占用空间总的(Summary)大小,而不是统计每个子目录,文件的大小
[root@server1 ~]# du -sh /var/log/ //统计磁盘所占用的空间大小
6.7M /var/log/
[root@server1 ~]# du -ah /var/log/ //统计磁盘所每个文件及目录所占用的空 间大小并列出来,这里只展示了其中一部分
0 /var/log/tallylog
4.0K /var/log/grubby_prune_debug
44K /var/log/lastlog
28K /var/log/wtmp
4.0K /var/log/btmp
12.创建新目录 mkdir
格式
mkdir aaa 在当前目录下创建 aaa
mkdir /aaa/bbb 在aaa目录下创建bbb
-p:创建多层文件夹(两层未存在)
13.创建空文件 -touch
格式: touch 文件
例如:
[root@server1 ~]# touch /aaa/123 //在aaa下面创建文件 123
touch a 默认在家目录下面创建 路径为:/root/a
touch /a 在根目录下面,要查看的话要进入根目录 :cd /
touch /a/b指的是在根下面创建目录a,并在a下面创建文件 b
例如:touch /aa tt : 指的是在根目录下创建一个aa的文件,而此时tt的路径是:/root/tt
此时,aa指的是绝对路径,而tt是相对路径
14.创建连接文件 -ln
为文件或目录建立链接文件,类似于windows系统的快捷方式
连接文件类型
软连接 又称为符号连接,创建连接的时,会创建一个访问的快捷方式,当删除链接时软连接失效
硬链接 :创建连接时,会创建一个文件,删除连接对文件没有影响
15.复制文件或者目录 - cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或者目录
格式为: cp [选项】… 源文件或目录 … 目标文件或目录
常用选项
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限,属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
[root@server1 ~]# cp -rp /root/12345678/ /aaa //复制 12345678到 aaa下面
16.删除文件或目录 - rm
格式 :rm 删除的文件或目录
常用选项 :-f(忽略不存在的文件和参数,不提示) , -i (移除前提示), -r(递归删除目录及其文件)
[root@server1 ~]# rm -r 12345678 / 删除 12345678
[root@server1 ~]# rm -rf /aaa/12345678 //递归删除aaa下的文件12345678
17.移动文件或目录- mv
格式:mv 源文件或目录 目标文件或目录
[root@server1 ~]# mv /root/aaa /bbb //将aaa移动到 bbb下面
18.查找命令 /或文件目录存放目录-which
格式:which 文件或者目录名
[root@server1 ~]# which ls
19.查找文件或目录 -find
格式:find 查找范围 查找条件
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目录文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 一般使用“+”,“-”号设置超过或小于指定的大小作为查找条件 |
按文件属主 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找,文件类型包括普通文件(f),目录(d)块设备文件(b)字符设备文件(c)等 |
[root@server1 ~]# find /aaa -size +100k -a -name "1*" //查找aaa目录下以1开头 并超过100k的文件
/aaa/123 //显示出了文件全名及路径
各表达式之间使用逻辑运算符
-a表示而且(and)
-o表示或者(or)
示例
find /boot -size +1024k -a -name 文件名称
find /boot -size +1024k -o -name 文件名称