常用指令
命令 | 参数 | 注释 |
ls | | 显示文件或目录 |
| -l | $列出文件详细信息l(list) |
| -a | 列出当前目录下所有文件及目录,包括隐藏的a(all) |
| -p | 创建目录,若无父目录,则创建p(parent) |
cd | | 切换目录 |
touch | | 创建空文件 |
echo | | 查看文件内容 |
cp | | 拷贝 |
mv | | 移动或重命名 |
rm | | 删除文件 |
| -r | 递归删除,可删除子目录及文件 |
| -f | 强制删除 |
find | | 在文件系统中搜索某文件 |
wc | | 统计文本中行数、字数、字符数 |
grep | | 在文本文件中查找某个字符串 |
rmdir | | 删除空目录 |
tree | | 树形结构显示目录,需要安装tree包 |
pwd | | 显示当前目录 |
ln | | 创建链接文件 |
more、less | | 分页显示文本文件内容 |
head、tail | | 显示文件头、尾内容 |
ctrl+alt+F1 | | 命令行全屏模式 |
在Linux中查看文件的命令有
cat
、more
、less
、head
、tail
等
cat
- cat 显示文件连接文件内容的工具
cat 是一个文本文件(查看)和(连接)工具,通常与more搭配使用,与more不同的是cat可以合并文件。查看一个文件的内容,用cat比较简单,就是cat后面直接接文件名。
$cat /usr/local/logs/a.log
- cat 语法结构
cat [选项] [文件]...
------选项--------------------注释----
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
$cat /etc/profile 注:查看/etc/目录下的profile文件内容;
$cat -b /etc/fstab 注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
$cat -n /etc/profile 注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
$cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;
cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
$cat -n /etc/profile
$nl /etc/profile
cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
$cat /etc/fstab /etc/profile
cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
$cat /etc/fstab /etc/profile | more
more
- more 文件内容或输出查看工具
more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比
$more /etc/profile
- more 的语法、参数和命令
more [参数选项] [文件]
--参数----------注释---------------
+num 从第num行开始显示;
-num 定义屏幕大小,为num行;
+/pattern 从pattern 前两行开始显示;
-c 从顶部清屏然后显示;
-d 提示Press space to continue, 'q' to quit.(按空格键继续,按q键退出),禁用响铃功能;
-l 忽略Ctrl+l (换页)字符;
-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;
-s 把连续的多个空行显示为一行;
-u 把文件内容中的下划线去掉退出more的动作指令是q
$more -dc /etc/profile 注:显示提示,并从终端或控制台顶部显示;
$more +4 /etc/profile 注:从profile的第4行开始显示;
$more -4 /etc/profile 注:每屏显示4行;
$more +/MAIL /etc/profile 注:从profile中的第一个MAIL单词的前两行开始显示;
我们查看一个内容较大的文件时,要用到more的动作指令,比如
ctrl+f(或空格键)是向下显示一屏,
ctrl+b是返回上一屏;
Enter键可以向下滚动显示n行,要通过定义,默认为1行;
Enter 向下n行,需要定义,默认为1行;
Ctrl+f 向下滚动一屏;
空格键 向下滚动一屏;
Ctrl+b 返回上一屏;
= 输出当前行的行号;
:f 输出文件名和当前行的行号;
v 调用vi编辑器;
! 命令 调用Shell,并执行命令;
q 退出more当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的;
less
- 进入less后,我们得学几个动作,这样更方便 我们查阅文件内容;最应该记住的命令就是q,这个能让less终止查看文件退出
--动作----------
回车键 向下移动一行;
y 向上移动一行;
空格键 向下滚动一屏;
b 向上滚动一屏;
d 向下滚动半屏;
h less的帮助;
u 向上洋动半屏;
w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
g 跳到第一行;
G 跳到最后一行;
p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
v 调用vi编辑器;
q 退出less
!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;
就less的动作来说,内容太多了,用的时候查一查man less。
head
- head 工具,显示文件内容的前几行
head 是显示一个文件的内容的前多少行;
用法比较简单:
head -n 行数值 文件名;
比如我们显示/etc/profile的前10行内容,应该是:
$head -n 10 /etc/profile
tail
- tail 是显示一个文件的内容的最后多少行
tail -n 行数值 文件名;
比如我们显示/etc/profile的最后5行内容,应该是:
$tail -n 5 /etc/profile
$tail -f /var/log/syslog 显示文件 syslog 的后十行内容并在文件内容增加后,且自动显示新增的文件内容。
备注:最后一条命令tail非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。
grep
- Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
- 格式
grep [options]
- [options]主要参数
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
- pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
*:有字符,长度可以为0。
- grep命令使用简单实例
#显示所有以 t 开头的文件中, 包含 test 的行:
[root@Finn tmp]# ll
-rw-r--r-- 1 root root 10 Jan 22 14:41 tee.txt
-rw-r--r-- 1 root root 159 Jan 22 14:39 test.txt
[root@Finn tmp]# grep 'test' t*
tee.txt:tee-test
test.txt:test
test.txt:test1
test.txt:test2
#显示在 a , b , c 文件中匹配 test 的行:
[root@Finn tmp]# ll
-rw-r--r-- 1 root root 13 Jan 22 14:46 a
-rw-r--r-- 1 root root 44 Jan 22 14:47 abc
-rw-r--r-- 1 root root 11 Jan 22 14:46 b
-rw-r--r-- 1 root root 20 Jan 22 14:46 c
[root@Finn tmp]# grep 'test' a b c
a:aaaaaaa-test
b:bbbb- test
c:cccccc --- test::
#显示所有包含每个字符串至少有5个连续小写字符的字符串的行:
[root@Finn tmp]# cat a
aaaaaaa-test
aaaaaa
bbbbbb
ccc
dddd
eeeee
q
w
tr
asd
[root@Finn tmp]# grep '[a-z]\{5\}' a
aaaaaaa-test
aaaaaa
bbbbbb
eeeee
#显示匹配内容的前或后或前后行的内容
[root@Finn tmp]# cat line
000000
111111
222222
333333
444444
555555
666666
777777
888888
999999
#可以显示匹配内容以及后面的1行内容
[root@Finn tmp]# cat line | grep '55' -A 1
555555
666666
#可以显示匹配内容以及前面的2行内容
[root@Finn tmp]# cat line | grep '55' -B 2
333333
444444
555555
#可以显示匹配内容以及前后面的3行内容
[root@Finn tmp]# cat line | grep '55' -C 3
222222
333333
444444
555555
666666
777777
888888
系统管理命令
命令 | 注释 |
stat | 显示指定文件的详细信息,比ls更详细 |
who | 显示在线登陆用户 |
whoami | 显示当前操作用户 |
hostname | 显示主机名 |
uname | 显示系统信息 |
top | 动态显示当前耗费资源最多进程信息 |
ps | 显示瞬间进程状态 ps -aux |
du | 查看目录大小 du -h /home带有单位显示目录信息 |
df | 查看磁盘大小 df -h 带有单位显示磁盘信息 |
ifconfig | 查看网络情况 |
ping | 测试网络连通 |
netstat | 显示网络状态信息 |
man | 命令不会用了,找男人 如:man ls |
clear | 清屏 |
alias | 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit |
kill | 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。 |
vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
文件权限管理
三种基本权限
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
[root@Finn tmp]# ll
-rw-r--r-- 1 root root 54 Jan 22 14:50 a
-rw-r--r-- 1 root root 44 Jan 22 14:47 abc
-rw-r--r-- 1 root root 11 Jan 22 14:46 b
-rw-r--r-- 1 root root 20 Jan 22 14:46 c
-rw-r--r-- 1 root root 70 Jan 22 15:21 line
-rw-rw-r--一共十个字符,分成四段。
第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6
第五六七个字符“rw-”表示当前所属组的权限。 所以用数值表示为4+2=6
第八九十个字符“r--”表示其他用户权限。 所以用数值表示为2
所以操作此文件的权限用数值表示为642
#更改权限
$sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765
$sudo chmod u+x g+w o+r filename
上面的例子可以用数值表示
$sudo chmod 765 filename
#增加可执行属性
$sudo chmod +x