LINUX

3.Linux结构


bin 存放常用程序

boot系统启动有关的文件

dev 设备文件

etc 系统程序和大部分应用程序的全局配置文件

home 使用者个人的根目录

lib系统程序库文件

mnt常用挂载点

oot 第三方程序安装处

proc 显示系统状态文件

root 管理员根目录

sbin 管理员专用目录

tmp 临时文件

usr

bin 常用的程序

include c/c++head files

lib 应用程序文件

local 一些自行安装的应用程序

 sbin 管理员专用程序

 share 共享的文件

src 应用程序源代码

   var

 cache 程序执行所产生的暂时文件

lib 程序产生的数据文件

ock 锁定程序或设备使用

 log 系统日志文件

run 执行的PID

5.1pwd命令

pwd 查看当前所在目录

/root  是超级管理员的home

5.2cd命令

cd/

cd/etc

cd ~回老家

5.3ls命令

-a 全部,包括隐藏文件

-l 长格式

-h 人性化, Kb, Mb, Gb

-d 列出目录本身

-i 文件id

 

目录列表

ls 列出当前目录的列表

 

cd /etc

ls

 

cd /

ls

 

cd ~

ls /dev 对指定目录进行列表

 

ls -a /etc -a  all全部文件,包括隐藏文件

 

ls -l /etc -l  长格式显示

第一个字符: -文件,d目录,l软连接

rwxr--r--: 权限

数字: 硬连接数

用户, 组

文件大小字节量

最后修改时间

 

ls -lh /etc -h  人性化显示,文件大小用Kb, Mb, Gb

 

ls -ld /etc -d  列出目录本身,而不是目录内部文件

 

ls -li /etc -i  显示文件的数字id

6文件命令

 6.1mkdir

-p 递归,逐层创建多层目录


创建目录

cd ~ 回家

mkdir  d1 创建d1目录

ls -l

mkdir  aa/bb/cc 不能创建

mkdir -p  aa/bb/cc

先建aa

再在aa中建bb

再在bb中建cc

cd aa

pwd

cd bb

pwd

cd cc

pwd

cd ../../../

pwd

6.2 rmdir

删除目录 remove dir

rmdir  d1

6.3rm

删除文件或目录

-r 删除目录

-f 无需确认

 

cd ~

touch  f1 新建文件

touch  aa/f2 在aa目录下创建f2

ls –l

ls –l  aa

 

rm  f1

rm  -r  aa 删除目录

 

touch  f1

rm  -f  f1 无需确认

 

mkdir  -p  aa/bb/cc

touch  aa/f2

rm  -rf  aa 无需确认删除目录

 6.4 touch

新建文件

touch f1

ls -l

默认权限:644

6.5权限

r读        4

w写        2

x执行    1

用户 用户组 其他人

6.6cp

复制 copy

 

-r 复制目录

-p 保持文件属性(一般指最后修改时间)

 

 

cd ~

cp  /etc/passwd  .   复制到当前目录

ls -l  /etc/passwd

ls -l  passwd

 

cp  /etc/passwd  pwd  复制成一个新的文件名

ls -l

 

cp  -p /etc/passwd  pwd2

复制时保持文件属性

ls -l  /etc/passwd

ls –l  pwd2

 

mkdir  -p  aa/bb/cc

touch  aa/f2

cp  -rp  aa  aa2

 

cd  aa2

ls

cd bb

cd cc

cd ../../../

6.7mv

cd ~

mv  pwd  aa/bb/  文件移动到bb目录下

ls -l

ls -l aa/bb/

 

mv pwd2  pwd   改名

ls -l

查看头部几行

-n 指定显示几行,默认10行

 

7.查看文件内容

cat

查看文件内容

-n  显示行号

 

cat  pwd

 

cat -n pwd

 

tac

反向查看文件

tac pwd

 

head

查看头部几行

-n 指定显示几行,默认10行

 

cat  pwd

head pwd 默认前10行

head –n 5 pwd 前5行

 

查看前5行,并显示行号

cat -n  pwd  |head –n 5

| 是管道

  前一个命令的执行结果

  交给后面命令处理

 

tail

尾部几行

-n 指定行数,默认10行

 

tail  pwd

tail –n 5 pwd

 

more

分页查看

more  /etc/services

 

空格或f – 翻页

回车 - 下一行

q或ctrl+c - 结束

 

分页查看,并显示行号

cat -n  /etc/services |more

less

可以前后翻页

less  /etc/services

 

pgup 上翻页

pgdn 下翻页

上箭头 上一行

下箭头 下一行

/ 输入关键词进行搜索

n 搜索时,继续搜索下一个

 

上下翻页查看文件,并显示行号

cat -n /etc/services  |less


文件连接:

ln -s 原文件名 新文件名---------- 创建 快捷键

ln  原文件名 新文件名----------创建副本;

ln

文件连接 link

 

-s  创建软连接文件(软连接就相当于windows的快捷方式)

 

 

 

软连接

cd ~

cp -p /etc/passwd .

ln -s passwd plink  passwd创建软连接文件

ls –l

cat plink  查看源文件

echo asdfsdfsdf >> plink  向源文件输出

cat plink

cat passwd

删除原文件,软连接失效

rm -f passwd

ls -l

cat plink

 

 

硬连接,

是一个原文件的副本,

l 保存与原文件相同的数据

与原文件id相同

修改原文件或硬连接文件,同时对另一个文件做相同修改

删除任意文件,不影响其它文件

 

 

硬连接

cp -p /etc/passwd .

ls -l

ln passwd passwd2

ln passwd passwd3

ln passwd passwd4

ls -li

echo asdfweegfwe >> passwd

cat passwd3

ls –l

rm -f passwd

ls -l

cat passwd3

 

文件权限

用户,用户组,其他人

r 读 4

w 写 2

x 执行 1

 

目录权限

r 目录列表权限

w 创建,删除文件

x 进入目录,打开目录

chmod

修改权限 change mode

u 用户

g 用户组

o 其它人

+ 增加权限

- 减少权限

= 设置成指定权限

 

chmod u+wx,g=r,o-rwx  passwd

chmod 764 passwd

 

chmod +x /usr/local/bin/docker-compose ugo用户、用户组、其它人

1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限

解决方法 :给予权限,执行chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld

修改文件,目录权限测试

添加新用户

useradd  tony

cat /etc/passwd

tony设置密码123456,

提示密码太简单,不理他再输一次123456

passwd  123456

 

快捷键 alt+f2,使用zhangsan登录

alt+f1...f6,切换工作界面

 

alt+f1

cd /home/zhangsan

touch  f1

echo  asdfasdf >> f1

ls -l

 

alt+f2

cat f1

echo werwsdfasdf >> f1

 

alt+f1

chmod  o+w  f1 其他人添加写权限

 

alt+f2

echo werwsdfasdf >> f1

cat f1

 

alt+f1

mkdir d1

ls -l

touch  d1/f2

chmod  o+w  d1/f2

 

alt+f2

cd d1

pwd

ls -l

touch f3

rm f2

echo asdfasdf >> f2

cat f2

 

alt+f1

chmod  o+w  d1

chmod  o-w  d1/f2

 

alt+f2

touch f3

echo  asdfasf >> f2

rm f2

 

 

chown

改变所有者 change owner

chown  zhangsan  f1

 

修改文件所有者

alt+f1

cd /home/zhangsan

chown  zhangsan  f1

chown  zhangsan  d1

ls -l

 

chgrp

改变所属用户组

chgrp  group1  f1

 

改变所属组

alt+f1

groupadd  group1

chgrp  group1  f1

ls -l

 

查找文件或命令

find

查找任意文件,支持通配符 * ?

find /home -name f1

 

    -name

        搜文件名,通配符 *?

   

    -iname

        忽略大小写

    

    -size

        按文件大小查找

        +块数, 大于...

        -块数,小于...

        

        一块等于512字节

 

          -size +20800 大于20800*512字节

          -size 20800  等于20800*512字节

    

    -user

    -group

        按所有者、所属组查找

        find  -user  root

    

    -amin

        access minutes, 按访问时间查找

    -cmin

        change, 属性更改

    -mmin

        modify, 内容修改

        

        -amin  -60  60分钟内

 

    -type

        f, d, l

    -a

        and

    -o

        or

    

    -exec

    -ok

        对查找结果直接执行操作命令

        

        ... -exec ls -l {} \;

        

        ... -ok ls -l {} \;

              需用户确认    

 

find查找文件

alt+f1

cd ~

/etc目录下查找文件serv*

find  /etc  -name  se* -a -type f |cat –n

 

 

locateupdatedb

在文件数据库中查找,效率比find高得多,新文件不会时时的添加到数据库,locate查找新文件可能找不到,需要更新数据库 updatedb

locate  service

 

locate查找文件

find / -name *service*

locate  service

cd ~

touch  myfile1

locate  myfile1

updatedb

locate  myfile1

 

 

which

查找命令,可以显示命令别名

which  ls

 

which测试

which  ls

which  rm

which  mv

 

/bin/ls  alias ls='ls --color=auto'

/bin/ls 命令文件

alias ls  起个别名叫ls

ls --color=auto  执行的真实命令

 

执行真实命令文件

/bin/ls  -li

/bin/ls  -li  --color=auto

 

/bin/rm  f1

 

alt+f2

which  rm

touch f1

rm f1

 

alt+f1

cd ~

别名配置文件

用户主目录中的隐藏文件 .bashrc

cat  .bashrc

 

cd /home/zhangsan

cat  .bashrc

 

 

whereis

查找命令,显示帮助文档的路径

whereis  ls

whereis  cp

whereis  useradd

/usr/sbin 超级管理员命令目录

whereis  mysqld

 

命令帮助

--help

简单的帮助信息

ls --help

mkdir --help

ps --help

ifconfig  --help

 

man

详细使用手册 manual,只有shell命令才有手册,内核命令没有独立手册

也可以查看配置文件手册,只指定文件名,不能写文件路径

 

man  mkdir

man  ifconfig

man  cp

man  cd  内核命令没有独立文档

man  passwd 配置文件手册

man  shadow

man  services

 

whatis

查看命令的简单信息

whatis ls

whatis cp

whatis cd

whatis whatis

 

apropos

配置文件简单信息

apropos  services

apropos  passwd

 

info

命令信息

help

命令帮助

 

用户管理

useradd

添加用户

useradd  zhangsan

 

-g 指定用户组(主组)

-G 指定附加组 -G  grp1,grp2,grp2

 

添加用户

alt+f2

useradd  lisi 普通用户不能添加新用户

alt+f1

useradd -g root -G group1 lisi

cat /etc/passwd

passwd  lisi  设置密码123456

cat /etc/shadow

 

 

passwd

密码管理

passwd   设置当前用户的密码

passwd   zhangsan  zhangsan的密码进行设置

 

-l  锁定密码,不允许用户登录

-u  解锁用户

-d  无口令

 

密码

passwd  -l  zhangsan

alt+f2

exit

 

alt+f1

passwd  -u  zhangsan

alt+f2

 

alt+f1

passwd  -d  zhangsan

 

alt+f2

logout

 

cat  /etc/shadow

 

 

 

userdel

删除用户 user delete

删除用户时,会同时删除他的主目录

 

userdel  lisi

 

 

who

查看当前登录的用户

 

groupadd

添加用户组

groupadd  group1

 

 

last

显示用户的最近的登录信息

 

lastlog

显示用户最后一次登录信息

 

压缩和解压缩

gzip

gz 格式压缩文件进行压缩和解压缩,不能直接对目录进行压缩

压缩:

gzip  passwd

会生成 passwd.gz,并删除原文件

解压缩:

gzip  -d  passwd.gz  

解压缩,解压之后,生成passwd,并删除压缩文件

gzip

cd ~

cp  -p  /etc/services  .

ls -l

gzip  services

ls -l

gzip  -d  services.gz

ls -l

 

tar

将目录打成一个tar文件包(不压缩),结合gzip,tar打包文件可以再进行压缩

tar也提供了参数,自动执行gzip压缩

 

    -c

        创建打包文件 create

    -v

        显示详细信息 verbos

    -f

        指定文件名 file

    -z

        打包同时压缩 gz,或者拆包时解压缩

    -j

        打包同时压缩 bzip2

 

    -x

        解包, tar文件,解开成文件夹

    -z

        解压缩

 

-czf

创建打包文件,进行压缩,指定文件名

 

-zxvf

解压缩后进一步解包,显示详细信息,指定文件名

tar

cd ~

rm  -rf  aa

mkdir  -p  aa/bb/cc

cp  /etc/passwd    aa

cp  /etc/services  aa/bb

cp  /etc/shadow    aa/bb/cc

 

tar  -czf  aa.tar.gz  aa

ls -l

 

gzip  -d  aa.tar.gz

ls -l

 

gzip  aa.tar

ls –l

 

rm  -rf  aa

ls -l

 

tar  -zxvf  aa.tar.gz

ls -l

 

zip

压缩文件:

zip  a.zip  f1

压缩目录:

zip  -r  a.zip  aa

 

不会删除原文件或压缩文件

 

zip

cd ~

cp  /erc/services  .

zip  s.zip  services  压缩services文件

ls –l

 

mkdir  aa

zip  -r  b.zip  aa  压缩 aa目录

ls -l

 

unzip

解压缩

unzip  s.zip

 

unzip

rm  services

rm –rf  aa

 

unzip  s.zip 解出services

unzip  b.zip 解出aa目录

 

bzip2

bzip2  services

默认压缩后会删除原文件

 

-k  保留原文件

 

bunzip2

bunzip2  services.bz2

默认解压后不保留压缩文件

 

-k  保留压缩文件

 

tar+bzip2对目录打包压缩

ls -l

tar  -cjf  j.tar.bz2  aa

ls –l

 

rm  -rf  aa

tar  -jxvf  j.tar.bz2

ls -l

 

 

通信和网络

服务器上登录的用户之间通信

write

向登录的其他用户发送信息

write  zhangsan

 

ctrl+c 退出

write

alt+f2

zhangsan登录

 

who

write  root

hello

...

ctrl+c

 

alt+f1

...

EOF - End Of

 

 

wall

向在线所有用户发送信息, write  all

wall  message...

wall  sdfsdf

 

网络

ifconfig

查看本机的网卡ip设置

Centos7 ip addr

ping

测试与另一台主机网络是否连通,及网络的连接速度,向对方发送数据,并等待对方发回数据

ping  192.168.7.xxx

 

ping  127.0.0.1

ctrl+c

 

-c  指定次数

ping  -c  2  127.0.0.1

 

netstat

查看网络服务

 

    -t

        tcp

    -u

        utp

    -l

        监听

    -r  

        路由

    -n

        ip、端口

        

    -tlun   本机监听的端口

    -an     本机所有网络连接

    -rn     本机路由表

        常用三个参数

 

登出和重启

exit logout

登出非常重要

 

关机和重启

服务器不能关机

 

shutdown

-h

        关机,指定时间 -h now   或    -h 20:00

    -r

        重启  -r now   或   -r 20:00

    -c

        取消预订的关机命令

 

init

Linux的运行状态

 

  0  关机

  1  单用户(安全模式)

  2  不完全多用户,不含nfs服务

  3  完全多用户(正常)

  4  未分配

  5  图形界面

  6  重启

 

init  6  

init  5  启动桌面系统

init  3  退出桌面系统,进入命令行界面

init  0

 

runlevel

查看当前系统运行级别

 

uptime

连续运行时间

w

系统运行时间,用户数,负载情况

用户的空闲时间,累计cpu时间,单次cpu时间,运行了什么命令

 

vivim

Linux 命令行中的文本编辑工具,编写程序代码文件,shell脚本文件

所有编辑操作,都要使用命令

 

  模式

      1.命令模式

      2.插入模式 i a o

      3.编辑模式 :

 

  插入模式: esc 退出

      a  字符后插入

      A  行尾插入

      i  字符前插入

      I  行首插入

      o  下面插入新行

      O  上面插入新行

      

  编辑模式:

      冒号进入

      

      :set nu      显示行号

      :set nonu    取消行号

      gg          到第一行

      G           到最后一行

      nG          到第n

      :n          到第n

      $           移到行尾

      0           移到行首

      

      x           删除字符

      nx          删除后面n个字符

      dd          删行

      ndd         删除n

      dG          删当前行到文件末尾

      D           删当前字符到行尾

      :n1,n2d     n1行到n2行删除

      

      yy          复制当前行

      nyy         复制当前行向下n

      dd          剪切当前行

      ndd         剪切当前行向下n

      

      pP        粘贴在当前行上面或下面

      

      r           覆盖单个字符

      R           持续覆盖字符,esc退出

 

      u           回退

      ctrl+r      重做

      

      /           搜索指定的字符串

      n           next

      

      :%s/aaaa/bbbb/g   不询问

      :%s/aaaa/bbbb/c   询问确认

                  全文替换, aaaa 替换成 bbbb

      

      :n1,n2s/aaaa/bbbb/g   不询问

      :n1,n2s/aaaa/bbbb/c   询问确认

                  指定行范围内替换

      

      :set ic     不区分大小写

      :set noic   区分大小写

      

      :w          保存

      :w filename 另存为

      :wq         保存并退出

      ZZ          保存并退出,快捷方式

      :q

      :q!         不保存直接退出

      :wq!        对只读文件强行保存并退出(所有者和root可用)

      

      :r \aa\bb  

                  导入bb文件内容  

      :!命令

                  不退出vim执行系统命令

      

      :r !命令

                  导入命令执行结果

      

      :map        自定义快捷键

                  :map [ctrl+vp]  I#<ESC>   ctrl+p添加#

                  :map [ctrl+vb]  0x<ESC>   ctrl+b取消#

 

      :n1,n2s/^/#/g     行首添加#

      :n1,n2s/^#//g     行首去除#

      :n1,n2s/^/\/\//g  行首添加//

      

      :ab  omg  oh my god!

                        定义缩写,替换为完整文本

      

      .vimrc

                  用户目录下 vim 命令配置文件,

                  可添加快捷键、缩写配置等

 

 

vim

i

asdfas

dfsdfsasd

fasasdfasdfas

dfsfsdf

dfsdfasfsdfdfa

sdf sdfs

 

 

 

 


 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值