新手小白 linux 常用命令笔记

linux命令:

reboot 重启

power off 关闭操作系统

ifconfig 查看ip地址

IP

cd 切换目录

pwd 查看当前工作目录

mkdir 创建文件夹 -p 建立多级目录

rm 删除

-i *.log 删除任何.log文件;删除前逐一询问

-rf test 删除test子目录及子目录下所有文件,无需确认

– -f* 删除-f 开头的文件

mv 移动/修改文件名

mv test.log test1.txt 将文件test.log重命名为test1.txt

mv log1.txt log2.txt log3.txt /test3 将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中

mv -i log1.txt log2.txt 将文件log1.txt更名为log2.txt 如果log2.txt已存在询问是否覆盖

mv * …/ 移动当前文件夹下的所有文件到上一级目录

cp 复制

cp -ai a.txt test 复制a.txt到test目录下,保持原文件时间,如果原文件存在提示是否覆盖

cp -s a.txt link_a.txt 为a.txt建立一个链接(快捷方式)

cat 显示文件详情

1.一次显示整个文件 : cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件

  1. 将几个文件合并为一个文件: cat file1 file2 > file

    -b 对非空输出行号

    -n 输出所有行号

more分页显示

+n 从第n行开始显示

-n 定义屏幕大小为n行

+/pattern 在每个档案显示前搜索该字符串(pattern),然后从改字符串前两行之后开始显示

-c 从顶部清屏,然后显示

-s 把连续的多个空行显示为一行

-u 把文件内容的下划线去掉

Enter 向下n行 需要定义。默认一行

!调用shell,并执行命令

q 退出

vi 编辑

less

find 文件树中查找文件

-name 按照文件名查找文件

-perm 按文件权限查找文件

-user 按文件属主查找文件

-group 按照文件所属的组来查找文件。

-type 查找某一类型的文件:例如

b - 块设备文件

d - 目录

c - 字符设备文件

l - 符号链接文件

p - 管道文件

f - 普通文件

(1)查找48小时内修改过的文件

find -atime -2

(2)在当前目录查找 以.log结尾的文件。 ". "代表当前目录

find ./ -name ‘*.log’

(3)查找/opt目录下 权限为 777的文件

find /opt -perm 777

(4)查找大于1K的文件

find -size +1000c

find -size 1000c 查找等于1000字符的文件

grep 文本搜索命令

命令格式:

grep [option] pattern file|dir

常用参数:

-A n --after-context显示匹配字符后n行

-B n --before-context显示匹配字符前n行

-C n --context 显示匹配字符前后n行

-c --count 计算符合样式的列数

-i 忽略大小写

-l 只列出文件内容符合指定的样式的文件名称

-f 从文件中读取关键词

-n 显示匹配内容的所在文件中行数

-R 递归查找文件夹

grep的规则表达式:

^ #锚定行的开始 如:’^grep’匹配所有以grep开头的行。

$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

. #匹配一个非换行符的字符 如:'gr.p’匹配gr后接一个任意字符,然后是p。

  • #匹配零个或多个先前字符 如:’*grep’匹配所有一个或多个空格后紧跟grep的行。

.* #一起用代表任意字符。

[] #匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。

[^] #匹配一个不在指定范围内的字符,如:’[^A-FH-Z]rep’匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

(…) #标记匹配字符,如’(love)’,love被标记为1。

< #锚定单词的开始,如:’<grep’匹配包含以grep开头的单词的行。

#锚定单词的结束,如’grep>'匹配包含以grep结尾的单词的行。

x{m} #重复字符x,m次,如:'0{5}'匹配包含5个o的行。

x{m,} #重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。

x{m,n} #重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5–10个o的行。

\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p。

\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。

\b #单词锁定符,如: '\bgrep\b’只匹配grep。

实例:

(1)查找指定进程

ps -ef | grep svn

(2)查找指定进程个数

ps -ef | grep svn -c

(3)从文件中读取关键词

cat test1.txt | grep -f key.log

(4)从文件夹中递归查找以grep开头的行,并只列出文件

grep -lR ‘^grep’ /tmp

(5)查找非x开关的行内容

grep ‘[x]’ test.txt

(6)显示包含ed或者at字符的内容行

grep -E ‘ed|at’ test.txt

chmod 访问权限

常用参数:

-c 当发生改变时,报告处理信息

-R 处理指定目录以及其子目录下所有文件

权限范围:

u :目录或者文件的当前的用户

g :目录或者文件的当前的群组

o :除了目录或者文件的当前用户或群组之外的用户或者群组

a :所有的用户及群组

权限代号:

r :读权限,用数字4表示

w :写权限,用数字2表示

x :执行权限,用数字1表示

  • :删除权限,用数字0表示

s :特殊权限

实例:

(1)增加文件t.log所有用户可执行权限

chmod a+x t.log

(2)撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息

chmod u=r t.log -c

(3)给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)

(4)将test目录及其子目录所有文件添加可读权限

chmod u+r,g+r,o+r -R text/ -c

tar 压缩和解压

常用参数:

-c 建立新的压缩文件

-f 指定压缩文件

-r 添加文件到已经压缩文件包中

-u 添加改了和现有的文件到压缩包中

-x 从压缩包中抽取文件

-t 显示压缩文件中的内容

-z 支持gzip压缩

-j 支持bzip2压缩

-Z 支持compress解压文件

-v 显示操作过程

有关gzip及bzip2压缩

gzip实例:压缩gzip fileName .tar.gz和.tgz 解压:gunzip filename.gz或gzip -d filename.gz

对应:tar zcvf filename.tar.gz tar zxvf filename.tar.gz

bz2实例:压缩bzip2 -z filename .tar.bz2 解压:bunzip filename.bz2或bzip -d filename.bz2

对应:tar jcvf filename.tar.gz 解压:tar jxvf filename.tar.bz2

实例:

(1)将文件全部打包成tar包

tar -cvf log.tar 1.log,2.log 或tar -cvf log.*

(2)将/etc下的所有文件及目录打包到指定目录,并使用gz压缩

tar -zcvf /tmp/etc.tar.gz /etc

(3)查看刚打包的文件内容(一定加z,因为是使用gzip压缩的)

tar -ztvf /tmp/etc.tar.gz

(4)要压缩打包/home, /etc ,但不要 /home/dmtsai

tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

ps 查看进程

ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top

linux上进程有5种状态:

\1. 运行(正在运行或在运行队列中等待)

\2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

\3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

\4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

\5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

ps工具标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)

R 运行 runnable (on run queue)

S 中断 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process

命令参数:

-A 显示所有进程

a 显示所有进程

-a 显示同一终端下所有进程

c 显示进程真实名称

e 显示环境变量

f 显示进程间的关系

r 显示当前终端运行的进程

-aux 显示所有包含其它使用的进程

实例:

(1)显示当前所有进程环境变量及进程间关系

ps -ef

(2)显示当前所有进程

ps -A

(3)与grep联用查找某进程

ps -aux | grep apache

(4)找出与 cron 与 syslog 这两个服务有关的 PID 号码

ps aux | grep ‘(cron|syslog)’

kill 杀死进程

发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。

常用参数:

-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

-a 当处理当前进程时,不限制命令名和进程号的对应关系

-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号

-s 指定发送信号

-u 指定用户

实例:

(1)先使用ps查找进程pro1,然后用kill杀掉

kill -9 $(ps -ef | grep pro1)

free 显示内存使用情况

显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

命令参数:

-b 以Byte显示内存使用情况

-k 以kb为单位显示内存使用情况

-m 以mb为单位显示内存使用情况

-g 以gb为单位显示内存使用情况

-s<间隔秒数> 持续显示内存

-t 显示内存使用总合

实例:

(1)显示内存使用情况

free

free -k

free -m

(2)以总和的形式显示内存的使用信息

free -t

(3)周期性查询内存使用情况

free -s 10

VI/vim

vi filename :打开或新建文件,并将光标置于第一行首

vi n filename :打开文件,并将光标置于第n行首

vi filename :打开文件,并将光标置于一行首

vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename…filename :打开多个文件,依次进行编辑

屏幕翻滚类命令

Ctrl u:向文件首翻半屏

Ctrl d:向文件尾翻半屏

Ctrl f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部.

插入文本类命令

i :在光标前

I :在当前行首

a:光标后

A:在当前行尾

o:在当前行之下新开一行

O:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

s:从当前光标位置处开始,以输入的文本替代指定数目的字符

保存命令

按ESC键 跳到命令模式,然后:

:w 保存文件但不退出vi

:w file 将修改另外保存到file中,不退出vi

:w! 强制保存,不推出vi

:wq 保存文件并退出vi

:wq! 强制保存文件,并退出vi

:q 不保存文件,退出vi

:q! 不保存文件,强制退出vi

:e! 放弃所有修改,从上次保存文件开始再编辑

docker操作

启动mysql:

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.19

启动redis:

*docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes*

redis客户端连接命令: docker exec -it 0b63b7eacc29 redis-cli

启动 rabbitmq:

docker run -id --name=rabbit --hostname rabbit -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15672:15672 -p 25672:25672 rabbit:management

1.run命令 创建一个新的容器并运行一个命令

语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

OPTIONS说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=“nginx-lb”: 为容器指定一个名称;
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=“ritchie”: 设置环境变量;
  • –env-file=[]: 从指定文件读入环境变量;
  • –cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
  • **-m : **设置容器使用内存最大值;
  • –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –link=[]: 添加链接到另一个容器;
  • –expose=[]: 开放一个端口或一组端口;
  • –volume , -v: 绑定一个卷

systemctl start docker

systemctl stop docker

2.查看所有镜像

docker images

多了一个镜像

3.启动一个容器

docker run -itd redis:latest

-i 表示交互式 -t 终端 -d 以后台进程的方式启动

4.启动redis

redis-server

5.删除容器及镜像

(1)首先查询容器ID

docker ps -a

(2)关闭容器

docker stop 容器ID

(3)删除容器

docker rm 容器ID

(4)查看镜像ID

docker images

(5)删除容器

docker rmi 镜像ID

6.附加到容器

docker attach 镜像ID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值