linux 基础知识及命令总结

时间:2021-12-18 13:34:23

1.mkdir   创建目录 -p 创建多级目录  mkdir -p /data/test

-m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask

-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理

  • [root@wen data]# mkdir test/test{1..3} -p  #创建一个目录再在下面创建几个目录

[root@wen data]# tree test

test

├── test1

├── test2

└── test3

2.ls    list  查看目录文件  ls /etc/目录

-l (long)长格式,-d 查看目录

-i inode节点号 , -h 人类可读

3.cd cd /etc  切换目录路径

4.pwd   显示当前所在目录

5.touch 创建文件,不存在即创建,存在就改变访问时间戳,atime

6.echo   打印输出内容,配合 >(重定向,会清除之前内容),>>(在尾部追加内容) 可以为文件追加内容

[root@wen 926]# echo {1..9}

1 2 3 4 5 6 7 8 9

  • [root@wen data]# cat >fade.txt

fade walk

^C

[root@wen data]# cat fade.txt

fade walk

  • [root@wen data]# cat >>fade.txt<<efo  #efo 可以是任意字符

> i am studing linux

> efo

[root@wen data]# cat fade.txt

fade walk

i am studing linux

  • [root@wen data]# echo mygirl 1>walk.txt 2>&1  #正确,错误都输入到walk.txt

[root@wen data]# cat walk.txt

mygirl

[root@wen data]# ech mygirl 1>walk.txt 2>&1   #正确,错误都输入到walk.txt,等同于 &>1

[root@wen data]# cat walk.txt

-bash: ech: command not found

  • [root@wen data]# echo  mygirl &>>walk.txt     #追加

[root@wen data]# cat walk.txt

-bash: ech: command not found

mygirl

[root@wen data]# ech  mygirl &>>walk.txt

[root@wen data]# cat walk.txt

-bash: ech: command not found

mygirl

-bash: ech: command not found

  • [root@wen data]# ech  mygirl 1>>walk.txt 2>>walk.txt   #重定向前面的数字要紧跟着

[root@wen data]# cat walk.txt

-bash: ech: command not found

mygirl

-bash: ech: command not found

-bash: ech: command not found

7.cat  查看文件内容 cat fade.txt

-n 匹配排序,cat /rtc/log -n

[root@wen data]# cat walk.txt -n

1        -bash: ech: command not found

2        mygirl

3        -bash: ech: command not found

4        -bash: ech: command not found

8.vi windows记事本,简单    vim 复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用)

9.xargs  从标准输入获取内容创建和执行命令  -n 数字,分组

10.cp  copy  拷贝文件或目录,默认不能拷贝目录,   -r :递归,用于复制目录

-a :相当于-pdr,  -p:连同档案的属性一起复制过去,而非使用默认属性

  • [root@wen data]# touch test.txt

[root@wen data]# touch /data/926/test.txt

[root@wen data]# cp /data/test.txt /data/926/test.txt

cp:是否覆盖"/data/926/test.txt"? y

[root@wen data]# \cp /data/test.txt /data/926/test.txt              #\cp,不再提示覆盖与否,…\rm ,\mv

[root@wen data]# /bin/cp /data/test.txt /data/926/test.txt          #不再提示覆盖与否

11.rm  remove 删除目录和文件 -f(force)强制,-r 递归,用于删除目录

rm -fr "文件名" 强制删除目录不提示,非常危险

强调:删除命令要慎用,非常危险,删除前一定要先备份一份

  • [root@wen data]# touch stu{0..6}

[root@wen data]# find /data -type f -name "stu*" |xargs

/data/stu1 /data/stu4 /data/stu6 /data/stu3 /data/stu2 /data/stu0 /data/stu5

[root@wen data]# find /data -type f -name "stu*" |xargs -n 1

/data/stu1

/data/stu4

/data/stu6

/data/stu3

/data/stu2

/data/stu0

/data/stu5

[root@wen data]# find /data -type f -name "stu*" |xargs -n 2  #分组

/data/stu1 /data/stu4

/data/stu6 /data/stu3

/data/stu2 /data/stu0

/data/stu5

  • [root@wen data]# find /data -type f -name "stu*" |xargs rm -f    #find找到,管道xargs删除
  • [root@wen data]# touch stu{0..6}

[root@wen data]# find /data -type f -name "stu*" -exec rm {} \;  #另一种删除方法

[root@wen data]# ls

12.mv   move 移动文件和目录

14.find   查找  -type 文件类型(f(file),d(diretory),c(character),b(block),s(socket),l(link))

-name  "文件名",-mtime 时间,按修改时间查找,时间数字

+7 7天以前  7 第7天  -7最近7天

15.*grep   linux三剑客老三  过滤需要的内容,-v 排除内容

-C #除了显示匹配行外,显示该行前后的num行

-B #除了显示匹配行外,显示该行之前的num行

-A #除了显示匹配行外,显示该行之后的num行       例子查看19-(5)

  • [root@wen data]# cat fade.txt

fade walk

i am studing linux

[root@wen data]# grep -v fade fade.txt

i am studing linux

[root@wen data]# grep -v f fade.txt

i am studing linux

[root@wen data]# grep -v i fade.txt

fade walk

[root@wen data]# grep fade fade.txt

fade walk

16.head    头,头部   读取文件的前n行,默认前10行,-n 数字,习惯-5,忽略-n

17.tail   尾巴       输出文件的后n行,默认后10行,-n 数字,习惯-5,忽略-n

[root@wen data]# seq 20 > num.txt

[root@wen data]# head num.txt

1

2

3

4

5

6

7

8

9

10

[root@wen data]# tail num.txt

11

12

13

14

15

16

17

18

19

20

[root@wen data]# head -3 num.txt

1

2

3

[root@wen data]# tail -3 num.txt

18

19

20

18.alias   查看设置别名,unalias取消别名

  • [root@wen data]# alias rm='echo this command does not allow to use'

[root@wen data]# alias|grep rm

alias rm='echo this command does not allow to use'

[root@wen data]# rm

this command does not allow to use

定义别名永久生效:  /etc/profile  全局生效   ~/.bashrc  当前用户生效

分享链接 http://oldboy.blog.51cto.com/2561410/699046

19.seq   序列

[root@wen data]# seq -s '*' 10   #以"*"为间隔符

1*2*3*4*5*6*7*8*9*10

[root@wen data]# seq 1 2 10      #以1为起点,2为间隔,10为终点

1

3

5

7

9

[root@wen data]# seq 0 2 10

0

2

4

6

8

10

  • [root@wen data]# seq 100 >ett.txt     #查看ett.txt内第20到25行的内容(常见考题)

1. [root@wen data]# head -25 ett.txt|tail -6

20

21

22

23

24

25

2. [root@wen data]# sed -n '20,25p' ett.txt  #更高效的方法

20

21

22

23

24

25

3. [root@wen data]# awk '19<NR && NR<26' ett.txt

20

21

22

23

24

25

4. [root@wen data]# awk '{if(NR >19 && NR< 26) printf $0 "\n"}' ett.txt

20

21

22

23

24

25

5. [root@wen data]# grep 22 -C 2 ett.txt  #除了显示匹配行外,显示该行前后的num行

20

21

22

23

24

6. [root@wen data]# grep 25 -B 5 ett.txt  #除了显示匹配行外,显示该行之前的num行

20

21

22

23

24

25

7. [root@wen data]# grep 20 -A 5 ett.txt  #除了显示匹配行外,显示该行之后的num行

20

21

22

23

24

25

20.sed    linux三剑客老二,流编辑器,实现对文件的增删改替换查  s,g常联合使用,表示对当前进行全局匹配替换

参数 -n 取消默认输出, -c 允许多项编辑, -I 修改文件内容

[root@wen data]# echo mygirl >>fade.txt

[root@wen data]# sed -i 's#mygirl#jujingyi#g' fade.txt

[root@wen data]# cat fade.txt

fade walk

i am studing linux

jujingyi

  • [root@wen data]# echo dream-girl{01..04} > /data/girl/del.sh

[root@wen data]# find /data -type f -name '*.sh' |xargs cat

dream-girl01 dream-girl02 dream-girl03 dream-girl04

[root@wen data]# find /data -type f -name '*.sh' |xargs sed 's#dream-girl*#jujingyi#g'

jujingyi01 jujingyi02 jujingyi03 jujingyi04

[root@wen data]# find /data -type f -name '*.sh' |xargs sed 's#.*#jujingyi#g'

jujingyi

[root@wen data]# find /data -type f -name '*.sh' |xargs sed -i 's#dream*#jujingyi#g'

[root@wen data]# find /data -type f -name '*.sh' |xargs cat

  • jujingyi-girl01 jujingyi-girl02 jujingyi-girl03 jujingyi-girl04

[root@wen data]# echo dream-girl{01..04} > /data/girl/del.sh

[root@wen data]# sed -i 's#dream-*#beautiful#g' `find /data -type f -name '*.sh'`  #替换方法二

[root@wen data]# find /data -type f -name '*.sh' |xargs cat

beautifulgirl01 beautifulgirl02 beautifulgirl03 beautifulgirl04

21.linux系统查看命令帮助的手段

a.man 命令名/配置文件 b.命令 --help (稍微简单的帮助)  c.搜索引擎“linux 命令名”,info  d.help 命令名,特殊bash内置命令

22.常用快捷键

Ctrl +c 终止当前任务命令或程序

Ctrl +d退出当前用户环境,相当于

Ctrl +l 清屏,相当于clear命令

23.查看系统64位,内核

[root@wen data]# cat /etc/redhat-release

CentOS release 6.7 (Final)

[root@wen data]# uname -r

2.6.32-573.el6.x86_64

[root@wen data]# uname -m

x86_64

24.tree 查看目录结构   没有则安装 yum -y install tree

tree -L 1 ,查看当前下一层目录

25.linux 基础知识

一,分区

一块硬盘:主分区,扩展分区,逻辑分区

主分区+扩展分区的数量 <= 4,其中一个主分区可以用一个扩展分区,扩展分区最多只能有一个

扩展分区不能直接使用,还需要在上面创建逻辑分区,逻辑分区可有多个

主分区 + 扩展分区 编号只能1~4,逻辑分区的编号只能从5开始

1.常规分区:数据不是特别重要的业务(集群的某个节点)

/boot  引导分区 200M

swap   交换分区  内存的1.5倍,内存大于 8G,就给 8~16G

/      根分区,所有目录顶点  剩余所有空间

2.数据重要(数据库,存储服务区)

/boot  引导分区 200M

swap   交换分区  内存的1.5倍,内存大于 8G,就给 8~16G

/      根分区,所有目录顶点  100~200G

/data  所有,存放数据

3.特大网站,门户(产品线特别多,需求)

/boot  引导分区 200M

swap   交换分区  内存的1.5倍,内存大于 8G,就给 8~16G

/      根分区,所有目录顶点  100~200G

剩余空间不分配,哪个部门领到了服务器,根据需求再进行分区

二,硬盘

  • 系统的第一块IDE接口的硬盘称为  /dev/had
  • 系统的第二块IDE接口的硬盘称为  /dev/hdb
  • 系统的第一块SCSI接口的硬盘称为  /dev/sda
  • 系统的第二块SCSI接口的硬盘称为  /dev/sdb

价格与性能:SSD>SAS>SATA

三,其他硬件

1.网站PC服务器

Dell(普遍)

1u = 4.45cm---->R420,410,620,630

2u--->R730,720,710

2.raid卡及其介绍

详见linux笔记

26.stat  查看目录或文件的状态   display file or file system status

27.检查网络服务

ssh服务是否好的 检测办法:从哪个机器连就在那个机器上操作

telnet 192.168.59.131 22(服务器的IP和port)在windows上操作

不通的可能原因:

a.物理链路是否有问题,ping 192.168.59.131

b.服务器端防火墙阻挡

[root@wen data]# /etc/init.d/iptables stop

iptables:将链设置为政策 ACCEPT:filter                    [确定]

iptables:清除防火墙规则:                                 [确定]

iptables:正在卸载模块:                                   [确定]

c.端口没有开放,服务器没有监听你连接的端口

[root@wen data]# netstat -lntup |grep 22  #以ssh服务22端口为例

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1503/sshd

tcp        0      0 :::22                       :::*                        LISTEN      1503/sshd

[root@wen data]# netstat -lntup |grep sshd

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1503/sshd

tcp        0      0 :::22                       :::*                        LISTEN      1503/sshd

[root@wen data]# /etc/init.d/sshd restart    #重启ssh服务

  • 网卡配置     刚安装的linux 网络服务默认是关闭的,需要手动调整

#更改配置文件将ONBOOT=no改成yes

[root@wen data]# sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0

[root@wen data]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

[root@wen data]# service network restart   #重启网络服务生效

  • 小节:linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)

linux客户端DNS也可以在/etc/resolv.conf里设置

网卡里的设置DNS优先于/etc/resolv.conf,如果重启网络网卡的DNS会覆盖/etc/resolv.conf的设置

  • [root@wen ~]# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

search localdomain

nameserver 192.168.59.2          #DNS

[root@wen ~]# /etc/init.d/network restart    #重启网卡

[root@wen ~]# setup "network configuration" "DNS configuration"  就是修改/etc/resolv.conf

28.rz,上传 sz,下载命令 可执行 yum install lrzsz -y yum groupinstall 或 "Dial-up Networking Soupport" -y 命令来安装

29.su  切换用户  su 和 su -的区别

30.linux 命令提示符由PS1 环境变量控制

[root@wen data]# set|grep PS1

PS1='[\u@\h \W]\$ '

[root@wen data]# PS1='[\u@\h \W\t]\$ '   #可以通过全局变量配置/etc/profile,使其永久生效

[root@wen data01:35:17]#                #提示符添加显示时间

31.克隆机   1).编辑eth0的配置文件:

[root@wen data01:4]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

删除 HWADDR=00:0c:29:e9:95:dd 和 UUID

2).如果有必要再清空如下文件:

> /etc/udev/rules.d/70-persistent-net.rules

3).最后reboot

linux 基础知识及命令总结的更多相关文章

  1. Linux基础知识与命令1(su passwd)

    一.Linux的基本原则 1.linux由一个个目的单一的小程序组成,我们一般需要组合小程序来完成复杂的任务 2.Linux的一切都是文件(文件类似于一棵树,包括外设,接口) 3.Linux尽量避免捕 ...

  2. 《Linux基础知识及命令》系列分享专栏

    <Linux基础知识及命令>系列分享专栏 本专题详细为大家讲解了Linux入门基础知识,思路清晰,简单易懂.本专题非常适合刚刚学习Linux的小白来学习,通过学习该专题会让你由入门达到中级 ...

  3. 后端程序员必备的 Linux 基础知识&plus;常见命令(近万字总结)

    大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的*少年. 今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令. 如果文章有任何需要 ...

  4. Linux基础知识和命令

    1,用户登录:    root(管理员),权限最大.安全生产必要时再使用.    普通用户:权限有限.2,    终端终端设备终端:输入和输出设备,如:键盘鼠标显示器;     图形终端:虚拟机进入窗 ...

  5. linux基础知识-常用命令

    ifconfig :查看当前ip hostname:查看主机名 vim /etc/hosts:修改地址映射 service iptables status : 查看防火墙状态 chkconfig ip ...

  6. Linux基础知识第九讲&comma;linux中的解压缩&comma;以及软件安装命令

    目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...

  7. Linux基础知识第三讲&comma;拷贝文件跟移动文件命令

    目录 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 1.tree命令常用选项 2.cp复制文件命令 3.mv 命令的使用 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命 ...

  8. Linux基础知识与基础命令

    Linux基础知识与基础命令 系统目录 Linux只有一个根目录,没有盘符的概念,文件目录是一个倒立的树形结构. 常用的目录功能 bin 与程序相关的文件 boot 与系统启动相关 cdrom 与Li ...

  9. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

随机推荐

  1. Android随笔之——闹钟制作铺垫之AlarmManager详解

    说实话,之前写的两篇博客Android广播机制Broadcast详解.Android时间.日期相关类和方法以及现在要写的,都算是为之后要写的闹钟应用做铺垫,有兴趣的话,大家可以去看看前两篇博客. 一. ...

  2. javascript&lowbar;core&lowbar;01之数据类型与运算

    1.数据类型转换: ①隐式转换:程序根据需要,自动转化数据类型: ②强制转换:主动调用函数执行转换: 2.字符串强制转换: ①x.toString():不能转换null和undefined: ②Str ...

  3. 第二天 django apache

    1. 475  brew tap homebrew/apache 476  brew install mod_wsgi 477  ls /usr/local/Cellar/mod_wsgi/4.5.7 ...

  4. JAVA并行框架:Fork&sol;Join

    一.背景 虽然目前处理器核心数已经发展到很大数目,但是按任务并发处理并不能完全充分的利用处理器资源,因为一般的应用程序没有那么多的并发处理任务.基于这种现状,考虑把一个任务拆分成多个单元,每个单元分别 ...

  5. 还在在专业的blog记录生活吧!

    本来觉得自己写文章水平很烂,技术贴也不能保证分析清晰透彻,就决定在百度hi上记录生活随笔.的. 但是,在百度,随便写点啥,都要审核.申诉. 还是在博客园安家吧. 从新手做起.

  6. 笔记:MyBatis XML配置-Settings 完整属性表

    设置参数 描述 有效值 默认值 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关. true | false true lazyLoadingEnabled 延迟加载的全局开关. ...

  7. SpringMVC集成rabbitmq:优化秒杀下单环节

    前言 上一篇在springboot中基于自动配置集成了rabbitmq.那么回到最初的话题中就是想在秒杀下单环节增加排队机制,从而达到限流的目的. 优化秒杀下单流程 之前是在控制器里拿到客户端请求后直 ...

  8. Django之MVC框架与MTV框架详解

    Django框架简介 MVC框架和MTV框架(了解即可) MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图 ...

  9. 并查集模板 &amp&semi;&amp&semi; 带权并查集模板

    不带权: ]; void init(void) { ;i<=n;i++) f[i]=i; } int fd(int x) { return f[x]==x?x:fd[x]=fd(f[x]); } ...

  10. sendCloud群发邮件一点总结

    1.群发时,若发送的邮件为html页面,则不能用[普通发送]然后foreach循环: 若是单纯的文本,则可以用普通发送,否则,第一封邮件成功后,后面的都是html乱码. 2.若要用html模板发送,可 ...