命令提示符:

mt:当前登陆的用户

mt:主机名

~:当前所在目录(家目录)

$:普通用户(#:超级管理员用户)

 

date

用法:date +%Y/%m/%d

输出结果:

 

用法:date +%H:%M

输出结果:

 

cal

输出结果:

语法:cal 2016

语法:cal [month] [year]

例如:2016年10月

   cal 10 2016

输出结果:

 

bc

计算器

输出结果:

^:指数

%:余数

 

注意:

1/10  不应该是0.1吗?

输出结果:

这是因为bc默认仅输出整数,如果要输出小数点下位数,那么就必须要执行scale=number命令,number指小数点位数

quit:离开bc计算器

 

cd命令

change directory缩写

cd ~  进入当前用户的家目录

cd -  进入上次目录

cd ..  进入上一级目录

cd .  进入当前目录

 

ls命令

就是list的缩写

ls -a 列出目录所有文件,包含以 . 开始的隐藏文件

image.png

ls -A 列出除.及..的其它文件

image.png

ls -r 反序排列

image.png

ls -t 以文件修改时间排序

image.png

ls -S 以文件大小排序

image.png

ls -h 以易读大小显示

image.png

ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

 

ls / 列出跟目录下所有目录

image.png

 

pwd

pwd 以绝对路径的方式显示用户当前工作目录

pwd -P 查看软链接的实际路径

mkdir

-m 对新建的目录设置存取权限

777:创建目录的同时设定权限为777

image.png

-p

 

 

 

who 查看当前用户

image.png

rm

删除任何.log文件;删除前逐一询问确认

rm -i *.log

删除test子目录及子目录中所有档案删除,并且不用一一确认

rm -rf test

删除以-f开头的文件

rm -- -f*

touch

创建文件

image.png

rmdir

从一个目录删除一个或者多个子目录项

ps:不能删除非空目录

image.png

同时删除test4和test5文件

image.png

mv

移动文件或者修改文件名

mv test1 test1_1

test1_1不存在则为修改test1的名称为test1_1

image.png

mv test1_1 test2

test2存在则为将test1_1移动至test2文件夹中

image.png

mv 1.txt 2.txt

将文件1.txt改名为2.txt,如果2.txt已经存在,则改名字为2.txt,文件中的内容不会变

image.png

mv -i 1.txt 2.txt

将文件1.txt改名为2.txt,如果2.txt已经存在,加-i会有提示信息,文件中的内容不会变

image.png

mv * ../ 移动文件夹中的所有文件和文件夹至上级目录

image.png

cp

copy的缩写

 

-i 提示

-r 复制目录及目录内所有项目

-p 连带文件属性一起复制

-d 若源文件是链接文件,则复制链接属性

-a 复制的文件与原文件各属性一样(相当于-pdr)

 

cp -i 2.txt test2

将2.txt文件移动到test2中,若test2中存在则提示是否重写overwrite

image.png

cp 3.txt test1_1  3.txt的文件内容会直接覆盖test1_1的文件内容

 

 

cp -ai 2.txt test2

复制2.txt文件到test2文件夹中,并且文件各属性和2.txt一致

 

 

cp -s a.txt link_a.txt

为2.txt建立一个链接(快捷方式)

-s的含义是什么?不加-s结果为第三个,加-s结果为第二个

image.png

cat

cat 2.txt  显示整个文件的内容

image.png

cat > 2.txt  修改原有的文件内容(ctrl+c结束)

image.png

cat -b 2.txt 对非空的文件输出行号

image.png

cat -n 2.txt 输出所有行号,包含空行

image.png

more

功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示

+n      从笫n行开始显示

-n       定义每次输出n行

 

less

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

less -N 2.txt 显示行号

image.png

-s  显示连续空行为一行

b  向后翻一页

d  向后翻半页

h  显示帮助界面

q  退出less 命令

u  向前滚动半页

y  向前滚动一行

空格键 滚动一页

回车键 滚动一行        

[pagedown]: 向下翻动一页

[pageup]:   向上翻动一页

head

打印文件内容,默认显示前10行

image.png

head 2.txt -n 13 显示文件的前13行

image.png

head 2.txt -n -13 不显示文件的后13行

tail

打印文件内容,默认打印后10行

image.png

which

查找文件

which指令会在环境变量$PATH设置的目录里查找符合条件的文件

which which

image.png

which vi

image.png

whereis

查看文件的位置

该指令只能用于查找二进制文件、源代码文件和man手册页

-b  只查找二进制文件

-m  只查找说明文件

whereis bash 查看指令bash的位置

image.png

whereis -b bash 显示bash 命令的二进制程序

image.png

whereis -m bash 显示bash 命令的帮助文件

image.png

locate

locate命令用于查找符合条件的文档

locate 12.txt

image.png

locate /mt1/2 查找mt1目录下以2开头的文件

image.png

-i 忽略大小写

locate -i ~/r 忽略大小写搜索当前用户目录下所有以m开头的文件

为何不显示m.txt r1.txt r2.txt r3.txt r.txt

image.png

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找

find

在指定目录下查找文件

  • -type 按文件类型搜索(f:文件)
  • -name 按文件名搜索
  • -maxdepth 指定搜索深度,应作为第一个参数出现
  • -size 按文件大小搜索。单位:k,M,G
  • -exec 将find搜索的结果集执行某一指定命令
  • -xargs 将find搜索的结果集执行某一指定命令。当结果集数量过大时,可以分片映射

 

find . -name "*.txt" 将当前目录及其子目录下所有文件后缀为 .txt 的文件列出来

image.png

find . -type f 将当前目录和当前目录子目录中所有的一般文件列出

image.png

find . -ctime -20 将当前目录及其子目录下所有最近 20 天内更新过的文件列出

image.png

 

find /etc -size +20k -a -size -50k  查找etc目录下,大于20kb并且小于50kb的文件。-a表示and;-o表示or

 

find /etc -size +20k -a -size -50k -exec ls -lh {} \;  查找etc目录下,大于20kb并且小于50kb的文件,并且显示详细信息

find /etc -size +2M -a -size -5M  查找

注意:k要是小写,M要是大写

 

find ./ -maxdepth 1 -name "*.txt"  查找当前目录的文件,按文件名搜索结尾是.txt的

find /usr/ -name '*tmp' -exec ls -ld {} \;  查找usr目录下已tmp结尾的文件

 

find /usr/ -name '*tmp' | xargs ls -ld  查找usr目录下已tmp结尾的文件

 

 

两者运行结果一样,但是xargs会进行分片映射,性能更加优化(例如有一万个文件,exec直接进行查找,xargs会把一万个文件分为很多组进行查找)

 

xargs的缺点:

当一个文件的文件名包含空格时,使用xargs时就会报错,这时候就需要用- print0来解决

例如创建一个文件:abc def

 

 

find ./ -name 'abc def' | xargs ls -ld  使用xargs查找当前目录文件名为abc def的文件

 

 

此时会报错,这是因为xargs是用空格来进行识别字符的。使用- print0就能解决此问题

find ./ -name 'abc def' -print0 | xargs -print0 ls -l

 

 

 

 

chmod

(英文全拼:change mode)命令是控制用户对文件的权限的命令

 

u 表示该文件的拥有者

g 表示与该文件的拥有者属于同一个群体(group)者

o 表示其他以外的人

a 表示这三者皆是

 

+ 表示增加权限

- 表示取消权限

= 表示唯一设定权限

 

r 表示可读取

w 表示可写入

x 表示可执行

X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行

 

将文件 2.txt 设为所有人皆可读取 :

chmod ugo+r 2.txt

chmod a+r 2.txt

将文件 1.txt 与 2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w 1.txt 2.txt

 

也可以用数字表示权限

r=4,w=2,x=1

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r-- 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 --x 001
0 --- 000

权限一共分成3组,3个一组,分别是所有者,所属组,其他人

第一个代表文件类型,-代表是普通文件,d代表是文件夹

例如:1.txt 4+2--4+2--4 即就是664

image.png

我们给1.txt 777的权限

chmod 777 1.txt

则1.txt变为 -rwxrwxrwx

image.png

tar

用来压缩和解压文件。tar本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成

tar -czvf test.tar.gz 2.txt 将2.txt压缩到test.tar.gz

image.png

tar -tzvf test.tar.gz 列出压缩文件的内容

image.png

tar -xzvf test.tar.gz 解压文件

image.png

 

rar

 

 

zip

 

chown

命令用于设置文件所有者和文件关联组的命令

sudo adduser mt2  创建用户mt2

 

sudo chown mt2 2.txt  修改文件2.txt的所属用户为mt2

 

sudo deluser mt2执行完后发现文件拥有者变成了1001,这是因为用户被删了找不到了

 

sudo addgroup mt3   创建用户组mt3

sudo chgrp mt3 3.txt  修改文件3.txt所属用户组为mt3

 

 

sudo delgroup mt3  删除用户组,删除后也变成了1001

 

 

df

命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计

第一列指定文件系统的名称,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存

image.png

用一个-i选项的df命令的输出显示inode信息而非块使用量

df -i

image.png

df --total 显示所有信息

image.png

输出的末尾,包含一个额外的行,显示总的每一列

 

df -h 可以产生可读的格式df命令的输出

image.png

du

显示目录或文件的大小

会显示指定的目录或文件所占用的磁盘空间

du 只显示当前目录下面的子目录的目录大小和当前目录的总的大小image.png

du 2.txt 显示指定文件所占空间

du -h 2.txt 以方便阅读的格式显示指定文件所占空间

image.png

ln

为某一个文件在另外一个位置建立一个同步的链接

链接分为:软链接,硬链接

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间

软链接:

以路径的形式存在,类似于windows系统中的快捷方式

软链接可以跨文件系统,硬链接不可以

软链接可以对一个不存在的文件名进行链接

软链接可以对目录进行链接

硬链接:

以文件副本的形式存在,但不占用实际空间

不允许给目录创建硬链接

硬链接只有在同一个文件系统中才可以创建

命令参数:

必要参数:

-b 删除,覆盖以前建立的链接

-d 允许超级用户制作目录的硬链接

-f 强制执行

-i 交互模式,文件存在则提示用户是否覆盖

-n 把符号链接视为一般目录

-s 软链接(符号链接)

-v 显示详细的处理过程

 

选择参数:

--help 显示帮助信息

--version 显示版本信息

ln -s 2.txt link2021 给2.txt创建软链接,如果2.txt丢失,link2021也将失效

image.png

ln 3.txt ln2023 给3.txt创建硬链接,3.txt和ln2023各项属性相同

image.png

grep

查找文件里符合条件的字符串

-v:排除指定字符串

-i:忽略大小写

egrep

egrep命令用于在文件内查找指定的字符串,与grep的不同点在于解读字符串的方法。egrep是用extended regular expression语法来解读的,而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范

fgrep 命令用于查找文件里符合条件的字符串,等同于grep -F,相对于grep和egrep的执行速度最快

 

grep "root" /etc/passwd

image.png

grep -v "/bin/bash$" /etc/passwd

显示/etc/passwd文件中不以/bin/bash结尾的行

image.png

grep "\<[0-9]\{2,3\}\>" /etc/passwd

egrep "\<[0-9]{2,3}\>" /etc/passwd

找出/etc/passwd文件中的两位数或三位数

image.png

netstat -tan | grep "LISTEN[[:space:]]*$"

找出"netstat -tan"命令的结果中以'LISTEN'后跟0,1或多个空白字符结尾的行

image.png

这是因为执行文件不存在,根据下面提示下载即可

image.png

创建文件4.txt 内容为:Wulianyu is a good boy but mother say wulianyu often lazy11111 I think he is very goooo.

grep mother 4.txt 筛选包含mother的行

image.png

grep -v mother 4.txt 筛选不包含mother的行

image.png

grep "[a-z]ulianyu" 4.txt 匹配ulianyu且是a-z开头的(a-z区分大小写)

image.png

grep "[^a-z]ulianyu" 4.txt 匹配ulianyu且不是a-z开头的(a-z区分大小写)

image.png

grep "\.$" 4.txt 以.结尾的行,此处\表示转义

image.png

grep "^[^A-Za-z]" 4.txt 第一个不是大小写字母

grep "[^A-Za-z]" 4.txt 不是大小写字母

image.png

grep "^$" 4.txt 匹配空行

image.png

 

ps aux | grep 'mt1'  检索进程结果集。例如检索进程名为mt1的,一条数据说明没有进程名为mt1的

 

ps aux | grep 'kworker'  检索进程名为kworker的

 

 

wc

wc命令用于计算字数

4.txt的行数为5、单词/字数20、字节数112

image.png

wc 4.txt 1.txt 查询多个文件的时候会输入总用量

image.png

wc -c 4.txt 只输出字节byte数

image.png

wc -l 4.txt 只显示行数

image.png

wc -w 4.txt 只显示字数

image.png

字数是如何统计的?

ps

命令用于显示当前进程的状态,类似于 windows 的任务管理器

image.png

ps -A 列出所有的进程

ps -au 显示较详细的信息

image.png

 

USER: 行程拥有者

PID: pid

%CPU: 占用的 CPU 使用率

%MEM: 占用的记忆体使用率

VSZ: 占用的虚拟记忆体大小

RSS: 占用的记忆体大小

TTY: 终端的次要装置号码 (minor device number of tty)

STAT: 该行程的状态:

D: 无法中断的休眠状态 (通常 IO 的进程)

R: 正在执行中

S: 静止状态

T: 暂停执行

Z: 不存在但暂时无法消除

W: 没有足够的记忆体分页可分配

<: 高优先序的行程

N: 低优先序的行程

L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

START: 行程开始时间

TIME: 执行的时间

COMMAND:所执行的指令

 

ps -ef | grep linux 查找指定Linux的进程

image.png

ps ef 显示所有进程信息,连同命令行

image.png

top

top命令用于实时显示 process 的动态

使用权限:所有使用者

image.png

top -c 显示完整的命令

top -b 以批处理模式显示程序信息

top -S 以累积模式显示程序信息

 

 

 

 

 

 

 

 

 

关闭输入回显:stty -echo

打开输入回显:stty echo

 

poweroff:立刻关闭虚拟机

 

切换到root用户:sudo -i 或者 sudo su

 

sudo -i 运行结果 PWD=/root

sudo su 运行结果 PWD=/home/用户名(当前用户主目录)

root用户切换到mt用户:sudo - mt

 

 

 

vi和vim的区别:vim支持正则表达式,vi不支持

 

who:当前在线的用户

 

netstat -a:查看网络的联机状态

ps -aux:查看后台执行的程序

 

echo $PATH:显示当前PATH的环境变量

 

 

find和grep的区别:

find:在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。

grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正式表达式是包含匹配

 

Linux系统目录:

  bin:存放二进制可执行文件

  boot:存放开机启动程序

  dev:存放设备文件

  home:存放用户

  etc:用户信息和系统配置文件

  lib:库文件

  root:管理员宿主文件(家目录)

  usr:用户资源管理目录

Linux系统文件类型:

  普通文件:-

  目录文件:d

  字符设备文件:c

  块设备文件:b

  软链接:l

  管道文件:p

  套接字:s

  

  

 

posted on 2021-08-29 23:49  tom和mt  阅读(285)  评论(0)    收藏  举报