01终端命令格式
command [-options] [parameter]
[] 代表可选
说明:
-
command
:命令名,相应功能的英文单词或单词缩写 -
[-options]
:选项,可用来对命令进行控制,也可以省略 -
[parameter]
:传给命令参数,可以是零个、一个或者多个,可省略
02查阅命令帮助信息
command --help
:显示命令的帮助信息
man command
:查阅command命令的使用手册
03终端命令界面解释
image-20210112164750367.png使用命令 hostname
可查看主机名
04linux常用命令
ls
:查看文件信息
参数:
- -a:显示指定目录下的所有子目录与文件,包括隐藏文件
- -l:以列表的方式显示文件的详细信息
- -h:配合-l以人性化的方式显示文件信息
注:
-
ls -l
可以简写为ll
-
linux中,一个点“.”表示当前目录,连个点“..”表示上一级目录
-
对于显示的文件详细信息的解释:
image-20210112170818266.png
绿色部分:第一位文件类型,d表示文件夹,-表示文件, l表示连接文件,后面9位表示文件的存取控制(权限),三位一组,分别表示创建文件的用户、用户所在组、其他用户对该文件的权限
通配符
* | 文件代表文件名中所有字符 |
ls te* | 查找以te开头的文件 |
ls *html | 查找以html结尾的文件 |
? | 代表文件名中的任意一个字符 |
ls ?.c | 查找第一个字符任意,后缀为.c的文件 |
ls a.? | 查找前两个字符为a.,最后一个字符任意的文件 |
[] | []将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围 |
[abc] | 匹配a、b、c中的任意一个 |
[a-f] | 匹配从a到f中的任意一个 |
ls [a-f]* | 查找文件名为第一个字符为a-f中的任意一个的文件 |
ls a-f | 查找文件名为a-f的文件,注意:当-处于方括号[]之外时,失去通配符的作用 |
ls *a | 查找文件名以a结尾的文件 |
clear
:清屏
清除终端上的显示,快捷键为ctrl+l
cd
:切换工作目录
cd后可跟绝对路径,也可跟相对路径
cd | 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。 |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 切换到当前目录 |
cd .. | 切换到上级目录 |
cd - | 进入上次所在目录 |
pwd
:显示当前路径
mkdir
:创建目录
参数:
-
-p
: image-20210112195455246.png 注意:新创建的目录名称不能与当前文件夹中的文件夹名或文件名重名
touch
:创建文件
在当前文件夹下创建空文档
touch test.txt
注:linux系统无严格后缀,创建时可任意命名
rm
:删除文件
remove缩写,删除文件或文件夹,不加参数只能删除文件
参数:
- -i:以交互方式进行,因为删除文件后不能恢复,可通过交互模式,用户确认后再删除
- -f:强制删除,忽略不存在的文件,无需提示
- -r:递归的删除目录下的内容,删除文件夹时必须加此参数
cp
:拷贝
cp [options] 源文件 目标位置
参数:
- -f:若目标文件已经存在,不提示
- -i:交互式复制,在覆盖目标文件前,会给出提示要求用户确认
- -r:若源文件是目录文件,则将递归复制该目录下的所有内容,目标文件必须为一个目录名
- -v:显示拷贝进度
mv
:移动、重命名
mv [options] 源文件 目标位置
参数:
- -f:禁止交互式操作,如有覆盖也不会给出提示
- -i:确认交互式操作,如果mv操作将导致已存在的目标文件覆盖,系统会询问是否重写,要求用户回答以避免覆盖文件
- -v:显示移动进度
tree
:查看文件结构
image-20210112203604177.png
history
:查看历史命令
对于复用率较高的命令,可使用历史命令中对应的编号对其进行调用,格式如下:
!编号
输出重定向命令:>
command > 目标文件
将命令执行结果定向到一个文件,执行结果不再终端显示,而是保存到指定文件中
注意:>若目标文件存在会覆盖原来的内容,>>则会追加到文件尾部
cat
:查看或合并文件内容
cat 目标文件
合并操作:
more
:分屏显示
more 目标文件
文件过长时,可使用more每次显示一页
操作:
- enter键:显示下一行
- 空格键:显示下一页
-
q键:退出
image-20210112205735038.png
管道
command [options] [parameter] | command
一个命令的输出通过管道作为另一个命令的输入,左边命令的执行结果会作为右侧命令的输入
建立链接文件:ln
硬链接:ln 源文件 链接文件 软连接:
ln -s 源文件 链接文件`
软连接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录。
区分:
image-20210112212027604.png
软连接文件通过源文件,指向文件地址,硬链接直接指向文件地址,这三者任意修改其中一个文件另外两个文件的内容也会随之变化,但当删除源文件时,软连接会失效,但硬链接文件依然存在。 image-20210112212251291.png
grep
:文本搜索
对文本进行模式查找
grep [options] 搜索内容字符串 文件名
注意:字符串需要使用双引号
参数:
- -v:显示不包含匹配的所有行(相当于求反)
- -n:显示匹配行及行号
- -i:忽略大小写
grep搜索内容可使用正则表达式,grep常用正则表达式如下:
^a | 寻找以a开头的行 |
ke$ | 寻找以ke结尾的行 |
[Ss]igna[Ll] | 匹配[]中一系列字符中的一个,即寻找包含单词signal,Signal,signaL,SignaL的行 |
. | 匹配一个非换行符的字符,例如:grep -n 'e.e' 1.txt 匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eaed,eve,但是不匹配 ee,eaae |
find
:查找文件
通常用来在特定目录下搜索符合条件的文件
find ./ -name test.sh | 查找当前目录下名为test.sh的文件 |
find ./ -name '*.sh' | 查找当前目录下后缀为.sh的文件 |
find ./ -name '[A-Z]*' | 查找当前目录下所有以大写字母开头的文件 |
find /tmp -szie 2M | 查找tmp目录下大小为2M的文件 |
find /tmp -size -2M | 查找tmp目录下小于2M的文件 |
find /tmp -size +2M | 查找tmp目录下大于为2M的文件 |
find /tmp -size +2M -size -5M | 查找tmp目录下大于为2M且小于5M的文件 |
find ./ -perm 777 | 查找当前目录下权限为777的目录或文件夹 |
文件压缩与解压缩:zip
unzip
压缩文件:zip [-r] 目标文件 源文件
注意:通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip
解压文件:unzip -d 解压后目录文件 压缩文件
chmod
:修改文件权限
chmod 777 filename
说明:
- r:读取权限(read),数字代号为4
- w:写入权限(write),数字代号为2
- x:执行权限(execute),数字代号为1
- -:不具任何权限,数字代号为0
例:chmod 751 file:rwxr-x--x
文件所有者:读写执行权限
同组用户:读、执行权限
其他用户:执行权限
注意:如果要递归所有目录加上相同权限,需要加上参数-R,如:chmod -R 777 test/
image-20210113090602416.png
Vim的基本使用
进入vim模式:vi 文件名
01命令模式
打开文件,首先进入的就是命令模式,该模式通过命令的方式对文件进行编辑
快捷命令:
- dd:删除
- yy:复制
- p:粘贴
- u:撤销
- gg:移到文档头部
- G:移到文档尾部
- /**:表示搜索**内容,n下一个,N上一个
02 插入模式,编辑模式
在命令模式中,按i
或者a
进入插入模式,可对文件内容进行编辑
按esc
退出编辑模式,进入命令模式
末行模式
命令模式按:进入末行模式,末行模式可在末行输入命令来管理文件,如保存和退出等
命令:
- :w:保存文件,或快捷键ctrl+z
- :q:退出vim模式
- :wq:保存退出
- :q!:不保存退出
- :25:定位到第25行
- :set number/nonumber:显示行号/隐藏行号
hive命令以及hadoop命令
任意位置输入hive
即可进入hive数据库
查看dhfs文件系统的目录结构
shell脚本的使用
shell脚本就是将linux代码放到一起执行,达到实现一些自动化的目的
shell脚本也是一种代码,有自己的语法。
shell脚本语法
nohup命令的使用
用途:不挂断的使用命令
语法:nohup command [options][parameter] [ &]
例:nohup sh runshell.sh > runshell.log 2>&1 &
操作系统中三个常用流:
- 0:标准输出流 stdin
- 1:标准输入流 stdout
- 2:标准错误流 stderr
解释:带&的命令,即使terminal关闭后,或者电脑死机,程序依然可以在服务器后台运行
2>&1的意思:
这个意思是把标准错误重定向到标准输出中,而标准输出是导出到 runshell.log 里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >runshell.log 2>runshell.log 文件runshell.log被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我们想要的.
这就是为什么有人会写成: nohup ./command.sh >command.log 2>command.log出错的原因了
网友评论