Linux

linux

1、Linux系统诞生与成长

Linux系统的诞生主要源于林纳斯个人,而Linux系统的成长则更多得益于所采用的开源模式。林纳斯12岁开始接触计算机和编程,并从此狂热地爱上了编程。 因为这份热爱,林纳斯自学了大量的编程知识,并不断地将学到的新知识进行练习。这些学习和练习为Linux系统储备了足够的知识弹药。而在开发过程中,林纳斯也不免遇到很多困难,但是他身上永不言弃的精神,让Linux系统最终诞生。在Linux系统诞生之后,它所采用的开源模式,令全世界对这个项目感兴趣的人都能参与进来。在世界各地优秀程序员的帮助下,Linux系统不断走向完善,最终大获成功。

 

2、登录服务器

首先在服务器上创建相应的账户密码,然后客户端通过ssh服务连接服务器,SSH服务的端口是22

ssh 账户@IP地址
ssh cl@101.**.***.84

登录长时间无操作系统自动退出再次进行操作必须重新登录

top (性能监控)无操作时 我们可以输入top让它保持在线不进行退出

退出时在英文输入法状态下按q

3、目录解读

 

linux中超级管理员的账户是root

bin可执行的目录

dev磁盘

home用户根目录

4、Linux常用命令

4.1、ls命令

ls /  查看根目录下的所有文件夹

 

 

ls -a  列出目录下所有文件,包含隐藏文件,隐藏文件是.

ls -la  文件详细信息

ls -l         列表文件详细的信息

ls -d:  仅仅查看系统目录

ls -r  反序列排列

 

 

 

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

 

 

 

ls -s   以文件大小排序

 

 

 

mkdir asd :  创建asd文件夹

touch A   创建A记事本

date  查看当前时间

4.2、别名 alias

设置别名alias 别名=“系统可执行命令”

取消别名 unalias别名

4.3、创建文件夹

查看当前账户目录pwd

mkdir asd :  当前路径下常见asd目录

常用命令: -p :创建多层级的文件夹 -v:创建的过程可以可视化的看到

mkdir -p a/b/c        在a目录下创建路径为b/c的目录

 

4.4、tree

安装tree需要命令为: yum install tree 那么卸载是为: yum remove tree

tree -l   查看目录深度

 

 

 

tree -L n  查看

 

 

 

4.5、切换目录cd

cd .   当前目录

cd..   上级目录

cd 目录名称

cd /  根目录

cd ~  进入home

rmdir A   删除目录A(逐级删除)

 

4.6、删除

删除文件

rm -f A:   强制删除文件A

rm -i A:   询问确认后删除文件A

rm -v A:   询问确认后删除文件A(可视化的只展示)

rm -iv A:   询问确认后删除文件+可视化展示A

 

删除目录

rm -r A:  直接删除目录A

rm -rv A    向下可视化删除A

rm -rf A  直接删除目录A和A下目录

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

 

 

4.7、复制cp命令

格式:cp 源文件 目标文件

将源文件复制至目标文件,或将多个源文件复制至目标目录。

注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!

cp A B B文件复制A 文件

cp -r A B A目录复制到B目录 (目录及所有项目)

cp -i 提示

 

4.8、mv命令

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录 中。

mv index.txt test1/ 把index.txt一定到test目录下

mv test1/index.txt test2 把test1目录下index.txt移动到test2目录下

mv -i test1/index.txt test2 把test1目录下index.txt移动到test2目录下*如果存在询问是否覆盖

mv index.txt index.py 把index.txt 重命名为index.py

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

 

4.9、cat查看命令

cat -A index.txt   查看ndex.txt所有内容

cat -n index.txt   按查看ndex.txt所有内容

tac index.txt   倒序查看ndex.txt所有内容

cat index index2 > index3   将index index2合并到index3

 

一屏一屏查看文件内容 more(左下角会显示查看文件的进度)

切换至下一屏:空格键 切换至上一屏:Ctrl+B

补充知识:

wc -l    查看文档的总行数,

 

Enter向下n行,需要定义默认为1行

Ctrl+F向下滚动一屏 空格键 向下滚动一屏

Ctrl+B 返回上一屏输出当前行的行号

V 调用vi编辑器

 q 退出more

查看文件内容 less(支持使用方向键翻页)

往回看:Ctrl+B 往后看:Ctrl+F 看完后退出:q

查看 文件开头几行 head -n N(N为数字,值得是要看几行)

查看 文件结尾几行 tail -n N(N为数字,值得是要看几行)

tail -f 循环读取(查看递增日志文件)

4.10、info查看命令帮助

4.11、chmod文件操作

用于改变 linux 系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

  1. 每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用 ls -l test.txt 查找

  2. 第一列共有 10 个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表只读,w 代表写,x 代表可执行

  3. chmod使用字母修改权限 既然文件的基本权限就是3种用户身份(所有者、所属组和其他人)搭配3种权限(rwx),chmod命令中用u、g、0分别代表3种身份,还用a表示全部的身份(all的缩写)。另外,chmod命令仍使用r、w、x分别表示读、写、执行权限。

r --> 4 w --> 2 x --> 1

r:读 4

w:写 2

x:执行 1

-:删除权限 0

s:特殊权限

u:目录或文件当前用户

g:当前群组

o:当前群组之外的用户

a:所有用户群组

chmod a+x A 给予A执行权限

4.12、资源查看

free命令

free命令默认是以kb为单位显示的,可以用free-m用Mb单位来显示。 Mem行:total= used + free 其中buffers和cached虽然计算在used内,但其实为可用内存。 Mem下一行:used为真实已占内存,free为真实可用内存。 Swap:内存交换区的使用情况。

 

top

  • (第⼀⾏: 系统时间 + 系统运⾏时间 + ⼏个⽤户 + 1/5/15分钟系统平均负载

  • 第⼆⾏:进程总数(total) + 正在运⾏进程数(running) + 睡眠进程数(sleeping) + 停⽌的进程数(stopped)+ 僵⼫进程数(zombie)

  • 第三⾏:⽤户空间CPU占⽐(us) + 内核空间CPU占⽐(sy)+ CPU空置率(id)

 

 

 

 

4.13、端口查看lsof

 

  • ls0f -i:22 查看22端口

     

 

 

  • netstat -tunlp

     

  • -t (tcp) 仅显示tcp相关选项

     

  • -u (udp)仅显示udp相关选项

     

  • -n 拒绝显示别名,能显示数字的全部转化为数字

     

  • -l 仅列出在Listen(监听)的服务状态

     

  • -p 显示建⽴相关链接的程序名

     

  • netstat -tunlp | grep 80 查询所有端口并过滤80端口

     

 

 

4.14、ps命令

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

linux上进程有5种状态:

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

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

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

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

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

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

  1. D不可中断 uninterruptible sleep(usually IO)

  2. R运行 runnable(on run queue)

  3. S中断sleeping

  4. T停止 traced or stopped

  5. Z僵死a defunct("zombie")process

命令参数

  • -A显示所有进程

  • -显示所有进程

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

  • c显示进程真实名称

  • e显示环境变量

  • f显示进程间的关系

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

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

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

  • ps -aux | grep nginx 查看Nginx的进程

    kill -9 pid 关闭进程

ps auxw | head -1;ps auxw|sort -rn -k4|head -5 -->内存占⽤前五的进程
ps auxw|head -1;ps auxw|sort -rn -k3|head -3--->cpu占⽤前三的进程

 

4.15、文件编辑vim

1、先创建文件,然后编写内容,最后保存 2、win+r,输入notepad,然后输入内容,最后保存

Linux操作文件: 1、先创建文件,然后vim打开编写内容,最后保存 2、vim 文件名

vim操作步骤: 1、vim打开要操作的文件 2、进入vim的编辑器后 3、输入a或者i 4、在最下栏就会显示insert/插入,那么就说明可以编写内容了 5、开始编写内容,编写完成后,开始保存步骤 6、按下esc键 7、再shift+: 8、wq就是保存 9、如果不保存,那么输入的是q!

  • /晨 快速定位:晨

  • x 删除光标所在字符

  • 字符按键以及Shift组合,输⼊字符

  • ENTER,回⻋键,换⾏

  • BACK SPACE,退格键,删除光标前⼀个字符

  • DEL,删除键,删除光标后⼀个字符

  • ⽅向键,在⽂本中移动光标

  • HOME/END,移动光标到⾏⾸/⾏尾

  • Page Up/Page Down,上/下翻⻚

4.16、文件查询

在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

  1. find 实际搜索硬盘查询文件名称

  2. whereis 查看文件位置

  3. which 查看可执行的文件

  4. locad 配合数据库查看文件位置

find

find则是遍历硬盘查找文件

  • -name按照文件名查找文件

     

  • -perm按文件权限查找文件

     

  • -usen按文件属主查找文件

     

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

     

  • -exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

  • find / -name index.txt 查找index.txt文件

     

  • find ./ -perm 777 查找当前目录下权限为777的文件

     

  • find / -name ind* 查找ind开头的文件

     

    正则表达式:

    • *多个字符串

    • ?一个字符串

    • \d代表数字

    • \D代表字符串

  • find / -size +102400 查找大于100m

     

  • find -type 查找某一类型的文件

     

    • b块设备文件

    • d 目录

    • l 符号链接文件

    • p 道文件

    • f 普通文件

  • -size n:[c]查找文件长度为n块文件,带有c时表文件字节大小

  • -amin n 查找系统中最后N分钟访问的文件

     

  • -atime n 查找系统中最后24小时访问的文件

     

  • -cmin n 查找系统中最后N分钟被改变文件状态的文件

     

  • -ctime n 查找系统中最后n*24小时被改变文件状态的文件

     

  • -mmin n 查找系统中最后N分钟被改变文件数据的文件

     

  • -mtime n 查找系统中最后n*24小时被改变文件数据的文件(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件

 

实例

find -atime 2      查看48 小时内文件
find test/ -perm 777    查找 test/ 目录下 权限为 777 的文件
 find ./ -name '*.py'   在当前目录查找 以 .py 结尾的文件。 . 代表当前目录

 

whereis

whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

  • -b可执行的文件

  • -m定位帮助文件

  • -s 定位源代码文件

  • -u默认路径下其他文件(除可执行,帮助,源代码外)

  • whereis test 查找test程序相关文件
    whereis -m locate  查找 lcoate 的帮助文件
    whereis -s locate    查找 locate 的源码文件

     

which

which 是在 PATH 就是指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

which ls    查看 ls 命令是否存在

 

 

 

4.17、输出echo

  • echo $path

     

4.18、printf

  • s字符串

  • d数字

  • f带小数点数字

  • /t空格

  • /n换行

 

4.19、用户管理

  • 创建 useradd

  • 删除 userdel

  • 切换 su -

4.20、文件传输

scp index.txt aa@IP:目录

scp 222.tar xl@101.43.158.84:/home/xl

 

 

 

 

4.21、文件压缩

zip

  • zip index.zip index.txt 把index.txt压缩成index.zip

  • unzip index.zip 解压index.zip

 

 

 

gzip

 

gzip index.gz index.txt 把index.txt压缩成index.zip

gunzip index.gz 解压index.zip

 

 

 

 

 

 

 zip和gzip 的区别:

  zip压缩或者解压,源文件保留。

  gzip压缩或者解压,源文件不保留

tar 命令

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

弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件

  • -c 建立新的压缩文件

  • -f 指定压缩文件

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

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

  • -x 从压缩包中抽取文件

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

  • -z 支持gzip压缩

  • -j 支持bzip2压缩

  • -Z 支持compress解压文件

  • -v 显示操作过程

tar -cvf 222.tar *.txt          当前目录下的TXT文件打包到222.tar
​
tar -xvf 222.tar                    解压222.tar

 

 

 

 

 

 

 

tar -jcvf  333.tar.gz *.txt     把TXT文件压缩的333.tar.gz 
​
tar -jxvf  333.tar.gz *.txt     把333.tar.gz  解压

 

 

tar -zcvf    目标路径 打包文件
​
tar -zcvf  test1/asd.tar.gz  test2/     test2下所有文件目录打包压缩到test1/asd.tar.gz
​
tar -ztvf  test1/asd.tar.gz                     查看压缩文件
tar -zxvf  test1/asd.tar.gz                     解压

 

 

 

 

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

下载wget 网址

 

posted @ 2022-02-21 17:34  晨^O^黎  阅读(66)  评论(0编辑  收藏  举报