设为首页 收藏本站
查看: 625|回复: 0

[经验分享] linux 基础知识及命令总结

[复制链接]

尚未签到

发表于 2017-11-17 14:52:13 | 显示全部楼层 |阅读模式
1.mkdir   创建目录 -p 创建多级目录  mkdir -p /data/test

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

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


  • [iyunv@wen data]# mkdir test/test{1..3} -p  #创建一个目录再在下面创建几个目录
[iyunv@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   打印输出内容,配合 >(重定向,会清除之前内容),>>(在尾部追加内容) 可以为文件追加内容

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

1 2 3 4 5 6 7 8 9


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

^C

[iyunv@wen data]# cat fade.txt

fade walk


  • [iyunv@wen data]# cat >>fade.txt<<efo  #efo 可以是任意字符
> i am studing linux

> efo

[iyunv@wen data]# cat fade.txt

fade walk

i am studing linux


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

mygirl

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

[iyunv@wen data]# cat walk.txt

-bash: ech: command not found


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

-bash: ech: command not found

mygirl

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

[iyunv@wen data]# cat walk.txt

-bash: ech: command not found

mygirl

-bash: ech: command not found


  • [iyunv@wen data]# ech  mygirl 1>>walk.txt 2>>walk.txt   #重定向前面的数字要紧跟着
[iyunv@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

[iyunv@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:连同档案的属性一起复制过去,而非使用默认属性


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

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

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

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

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


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

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

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


  • [iyunv@wen data]# touch stu{0..6}
[iyunv@wen data]# find /data -type f -name "stu*" |xargs

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

[iyunv@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

[iyunv@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


  • [iyunv@wen data]# find /data -type f -name "stu*" |xargs rm -f    #find找到,管道xargs删除
  • [iyunv@wen data]# touch stu{0..6}
[iyunv@wen data]# find /data -type f -name "stu*" -exec rm {} \;  #另一种删除方法

[iyunv@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)


  • [iyunv@wen data]# cat fade.txt
fade walk

i am studing linux

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

i am studing linux

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

i am studing linux

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

fade walk

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

fade walk

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

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

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

[iyunv@wen data]# head num.txt

1

2

3

4

5

6

7

8

9

10

[iyunv@wen data]# tail num.txt

11

12

13

14

15

16

17

18

19

20

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

1

2

3

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

18

19

20

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


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

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

[iyunv@wen data]# rm

this command does not allow to use

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

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

19.seq   序列

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

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

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

1

3

5

7

9

[iyunv@wen data]# seq 0 2 10

0

2

4

6

8

10


  • [iyunv@wen data]# seq 100 >ett.txt     #查看ett.txt内第20到25行的内容(常见考题)
1. [iyunv@wen data]# head -25 ett.txt|tail -6

20

21

22

23

24

25

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

20

21

22

23

24

25

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

20

21

22

23

24

25

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

20

21

22

23

24

25

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

20

21

22

23

24

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

20

21

22

23

24

25

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

20

21

22

23

24

25



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

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

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

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

[iyunv@wen data]# cat fade.txt

fade walk

i am studing linux

jujingyi


  • [iyunv@wen data]# echo dream-girl{01..04} > /data/girl/del.sh
[iyunv@wen data]# find /data -type f -name '*.sh' |xargs cat

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

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

jujingyi01 jujingyi02 jujingyi03 jujingyi04

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

jujingyi

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

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


  • jujingyi-girl01 jujingyi-girl02 jujingyi-girl03 jujingyi-girl04
[iyunv@wen data]# echo dream-girl{01..04} > /data/girl/del.sh

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

[iyunv@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位,内核

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

CentOS release 6.7 (Final)

[iyunv@wen data]# uname -r

2.6.32-573.el6.x86_64

[iyunv@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.服务器端防火墙阻挡

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

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

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

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

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

[iyunv@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         

[iyunv@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         

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


  • 网卡配置     刚安装的linux 网络服务默认是关闭的,需要手动调整
#更改配置文件将ONBOOT=no改成yes

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

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

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

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


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

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


  • [iyunv@wen ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script

search localdomain

nameserver 192.168.59.2          #DNS

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

[iyunv@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 环境变量控制

[iyunv@wen data]# set|grep PS1

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

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

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

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

[iyunv@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

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407917-1-1.html 上篇帖子: mysql 5.6_38 linux 安装 下篇帖子: 28.Linux-IIC驱动(详解)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表