基本命令练习
查看文件 ls ,cat ,tac,nl
ls 表示:查看当前路径下的所有文件夹以及文件,后面可以直接跟上文件名或者参数
如: ls /home
字符 | 含义 |
---|---|
-a | 显示所有隐藏文件 |
-l | 可以列表方式展示可见文件 |
-h | 明确展示文件大小 |
* | 表示任意一个或者多个字符,可为空 |
? | 表示任意一个字符,不可为空 |
[] | 表示中括号中任意一个字符都会有所展示 |
反斜杠\* | 转义字符,将含有特殊含义的字符表示为其本身,如*\*就代表符号* |
[lianglf@docker ~]$ ls
test
[lianglf@docker ~]$ ls /home
chenjl dengkh elasticsearch guo huangjj huangsh lianglf
[lianglf@docker home]$ ls -a -l -h
总用量 20K
drwxr-xr-x. 34 root root 4.0K 11月 2 19:59 .
drwxrwxrwx. 21 root root 4.0K 12月 11 11:57 ..
drwx------ 2 chenjl test 59 8月 22 11:24 chenjl
drwx------ 3 chenxh test 125 8月 25 15:01 chenxh
cat,tac都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。
标准输入输出:当我们执行一个 shell 命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),默认对应终端的键盘、标准输出文件(stdout)和标准错误输出文件(stderr),后两个文件都对应被重定向到终端的屏幕,以便我们能直接看到输出内容。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
比如我们要查看之前从 /etc 目录下拷贝来的 passwd 文件,可以加上 -n 参数显示行号:
[lianglf@docker grandson]$ cp /etc/passwd .
[lianglf@docker grandson]$ cat -n passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
使用 more 和 less 命令分页查看文件内容
[lianglf@docker grandson]$ more passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
--(更多)--(61%)
打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用 Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按下 h 显示帮助,q 退出。
使用 head 和 tail 命令查看文件
这两个命令,那些性子比较急的人应该会喜欢,因为它们一个是只查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行。还是拿 passwd 文件举例,比如当我们想要查看最近新增加的用户,那么我们可以查看这个 /etc/passwd 文件,不过我们前面也看到了,这个文件里面一大堆乱糟糟的东西,看起来实在费神啊。因为系统新增加一个用户,会将用户的信息添加到 passwd 文件的最后,那么这时候我们就可以使用 tail 命令了:
[lianglf@docker grandson]$ tail passwd
luoli:x:1024:1007:罗丽红:/home/luoli:/bin/bash
dengkh:x:1025:1007:邓开活:/home/dengkh:/bin/bash
lihong:x:1026:1007:李红:/home/lihong:/bin/bash
zenghp:x:1027:1007:曾海萍:/home/zenghp:/bin/bash
lixin:x:1028:1007:李欣:/home/lixin:/bin/bash
chenjl:x:1029:1007:陈俊霖:/home/chenjl:/bin/bash
epmd:x:996:994:Erlang Port Mapper Daemon:/tmp:/sbin/nologin
rabbitmq:x:995:993:RabbitMQ messaging server:/var/lib/rabbitmq:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
jenkins:x:1030:1030::/home/jenkins:/bin/bash
甚至更直接的只看一行, 加上 -n 参数,后面紧跟行数:
[lianglf@docker grandson]$ tail -n 1 passwd
jenkins:x:1030:1030::/home/jenkins:/bin/bash
[lianglf@docker grandson]$
重点 tail -n 常常用老查看系统日志,方便我们看到最新的系统日志,如:
[lianglf@docker log]$ tail -n 10 lastlog
查看文件类型
在 Linux 中文件的类型不是根据文件后缀来判断的,我们通常使用 file 命令查看文件的类型,如下面所示,说明这是一个可执行文件,运行在 64 位平台,并使用了动态链接文件(共享库)。
[lianglf@docker grandson]$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
[lianglf@docker grandson]$
pwd 查看路径
pwb表示:可查看当前文件的路径
[lianglf@docker ~]$ pwd
/home/lianglf
cd 切换目录
cd表示:切换目录路径,
如:cd ..,表示切换到上一级目录;
cd ../..切换到上一级的上一级目录,或者cd ~
cd - 表示返回上一次所在路径
cd 文件名,则切换当该文件目录里
[lianglf@docker llf]$ pwd
/home/lianglf/test/llf
[lianglf@docker llf]$ cd ..
[lianglf@docker test]$
[lianglf@docker test]$ cd ../..
[lianglf@docker home]$
[lianglf@docker test]$ cd llf
[lianglf@docker llf]$
clear 清屏
clear 表示:清除当前屏幕执行过的语句,实际并不是删除掉了只是屏幕切换至首行执行
[lianglf@docker ~]$ clear
Tab健 自动补全
在命令后,输入部分文件名称+tab,可自动补全文件名称,如下所示:
[lianglf@docker home]$ ls lianglf/
test
touch 新建空白文件
使用 touch 命令创建空白文件,关于 touch 命令,其主要作用是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个指定文件名的空白文件(不会覆盖已有同名文件)
[lianglf@docker ~]$ touch 01.txt
新建目录mkdir
使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性
使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):
[lianglf@docker ~]$ mkdir -p father/son/grandson
[lianglf@docker ~]$ cd father/son/grandson
[lianglf@docker grandson]$ pwd
/home/lianglf/father/son/grandson
复制文件 cp
将之前创建的“ 123.txt ”文件复制到“ /home/lianglf/test/llf”目录中:
[lianglf@docker grandson]$ cp 123.txt /home/lianglf/test/llf
复制目录 cp -r(参数)
[lianglf@docker test]$ cp -r llf /home/lianglf
剪切文件以及重命名 mv
使用 mv(move or rename files)命令移动文件(剪切)。将文件“llf ”移动到father 目录,以及把123.txt
命名为234.txt.
mv 源目录文件 目的目录:
[lianglf@docker ~]$ ls
father llf llf2 test
[lianglf@docker ~]$ mv llf father
[lianglf@docker grandson]$ mv 123.txt 234.txt
[lianglf@docker grandson]$ ls
234.txt [2..9].txt
删除文件 rm
使用 rm(remove files or directories)命令删除一个文件,如删除123.txt文件;
但是该文件只有读权限时,会有提示,若想强制删除,无提示,则加上 -f 参数如下图:
[lianglf@docker grandson]$ rm 123.txt
rm:是否删除有写保护的普通空文件 "123.txt"?n
[lianglf@docker grandson]$ rm -f 123.txt
[lianglf@docker grandson]$ ls
[lianglf@docker grandson]$
删除目录 rm -r
[lianglf@docker son]$ rm grandson/
rm: 无法删除"grandson/": 是一个目录
[lianglf@docker son]$ rm -r grandson/
[lianglf@docker son]$ ls
[lianglf@docker son]$
编辑文件 vim编辑器
单独章节介绍使用,很重要
> >>重定向
> 表示将命令行输出的内容保存到终端文件中
>> 表示多次命令行输出的内容保存在终端文件,而不清除上一次保存的内容
[lianglf@docker home]$ ls -l > test.txt
[lianglf@docker home]$ ls -l >> test.txt
附件
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
网友评论