ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux概述及命令总结

2022-08-08 00:00:24  阅读:228  来源: 互联网

标签:总结 文件 查看 文件名 命令 概述 Linux 权限 目录


1、什么是linux

Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。使用者不仅可以直观地获取该操作系统的实现机

制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。Linux 系统主要是应⽤于服务器 和⼤型计算机领域。我们⽣活中的⼤部分的⽹⻚和 APP,其实都是基于 Linux 系

统运⾏的,这其中就包括我们经常 会使⽤的淘宝和微信。Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。Linux具有开放源码、没有版

权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。

2、Linux概述及命令

(1)bin:存放可执行的文件;

(2)dev:相当于磁盘;

(3)home:用户的主目录,在 Linux 中,每个用户都有⼀个自己的目录,⼀般该目录名是以用户的账号命名的,相当于windows的user文件夹;

(4)root:该目录为系统管理员,也称作超级权限者的用户主目录。

Linux登录账号 :

ssh 账户@服务器地址(ssh **@101.43.158.84 password: ******)

查询账户是否登录成功:

who am i

延时等待防止退出账户:

top 保证账户不退出,再次使用时输入q

查看命令:

(1)查看当前账户目录:pwd

(2)查看根目录:ls / ( / 表示根目录)

(3)查看所有文件,包括隐藏文件(.config .开头的):ls -a

(4)查看列表详细信息(只能查看非隐藏文件):ls -l

(5)仅查看文件目录(只能查看非隐藏文件, .表示当前目录):ls -d

(6)查看所有文件的详细信息(包含文件大小):ls -lh

(7)查看所有文件的详细信息(包含了隐藏文件):ls -la

(8)查看所有文件的详细信息以及文件大小和隐藏文件:ls -lah

别名alias

(1)查看别名:alias

(2)设置别名(把已有的命令ls -lah设置为a)alias a ="ls -lah"

(3)取消别名(取消别名a)unalias a

查看当前时间:date

创建文件:

(1)创建文件,如创建一个ww.txt的记事本:touch yl.txt

(2)树型目录,当你输入一个命令时如果出现以下命令提示,则表示需要安装:

[root@centos-mater ~]# tree

-bash:/user/bin/tree/:No such file or directory

那么如何安装呢?安装命令为:

安装树型目录:yum install tree

卸载树型目录:yum remove tree

img

img

(3)创建可视化的多层级的文件夹,如创建一个 a/b/c/d的多层级文件夹:mkdir -pv a/b/c/d,

其中-p:创建多层级的文件夹、-v:创建的过程可以可视化的看到。

(4)查看文件夹的目录层级,如查看a文件夹的目录层级:tree a(表示看a文件夹的所有目录层级)

(5)查看a文件夹的前n层目录层级,如查看前2个:tree -L 2 a

切换目录:

/ 代表根目录

. 代表当前目录

.. 进入当前目录的上一级目录

cd 返回到用户的根目录

(1)进入某个文件夹(如进入a文件夹):cd a

(2)进入当前文件夹,如当前文件夹为a:cd .

(3)进入当前目录的上一级目录,如当前在a文件夹:cd ..

(4)返回用户的根目录:cd

删除文件

(1)强制删除文件(如删除 ww.txt文件):rm -rf ww.txt

(2)询问确认删除文件,(如删除 we,txt文件): rm -i we.txt

(3)删除文件(可视化的只展示),如删除 a.py文件:rm -v a.py

(4)询问确认后再删除文件+可视化展示(如删除index.py文件):rm -iv index.py

删除目录:

(1)直接删除文件夹,(如删除a文件夹):rm -r a

(2)强制删除文件夹,强制删除,若目录不存在,此命令依旧可以执行,不报错,(如删除a文件夹):rm -rf a

(3)可视化的强制删除文件夹,(如删除a文件夹):rm -rv rm

(4)删除空的目录,(如删除e目录,首先进入e的上一级目录):rmdir e

复制

(1)复制文件:cp 文件名(源文件)文件名(定义复制后的文件名)

如:将index.txt 文件进行复制,复制后的文件命名为index.csv 命令如下:cp index.txt index.csv

(2)复制目录:就是把目录下的文件复制到另一个目录下

如:wrd文件夹下的目录的wr.txt文件复制到aa文件夹中,命令如下:cp wrd/c/b/wr.txt aa

剪切(移动):

(1)把一个文件剪切到一个文件夹下(移动后源文件不存在),mv 文件名(源文件)存放位置

如:把wr.txt 文件复制到wrd文件夹下的a目录中,命令为:mv wr.txt wrd/a

(2)把一个目录下的文件剪切到另一个文件夹下,mv文件储存位置/文件名 存放位置

如:把wrd文件下a目录的wr.txt文件移动到bb文件夹下的b目录下,命令如下:mv wrd/a/wr.txt bb/a/b

(3)修改文件(文件夹)名称,命令为:mv 文件位置/文件(文件夹)原名称 文件位置/文件(文件夹)修改后名称

如;将bb目录下的wr.txt修改为wr.csv命令为;mv bb/a/b/wr.txt bb/a/b/wr.csv

查看文件内容:

(1)正序查看文件所有内容:cat

具体命令为:cat -n/-A 文件名 (-n显示文件的所有内容并显示行数;-A显示文件所有内容但不显示行数)

(2)查看文件内容倒叙显示:tac,命令如下:tac 文件名

(3)一屏一屏的查看文件内容:more,按enter查看下一行或者空格键查看下一页,按q退出。具体命令为:more 文件名

(4)查看文件内容与more相似:less支持上下左右查看文件内容,具体命令为:less 文件名

(5)head是查看文件的前几行,具体命令为:head -n N(要看前几行)文件名

如:查看login.json 文件的前5行,命令如下:head -n 5 login.json

(6)tail 是查看文件的后几行,具体命令为:tail -n N(要看后几行)文件名

如:查看login.json 文件的后5行,命令如下:tail -n 5 login.json

(7)Linux中查看实时日志文件,具体命令为:tail -f 文件名

linux权限

文件权限

(1)r:表示读得权限(读的权限用数字4代表)

(2)w:表示写的权限(写的权限用数字2代表)

(3)x:表示执行的权限(执行的权限用数字1代表)

我们赋予权限都会用数字代替,比如要赋予 读写和执行的权力,我们就用7代替,读写的权限就用6代替,我们一般说的IO权限指的就是“读写权限”,我们赋予文件权限的命令为:chmod nnn 文件名(n表示权限的数字)

如:要赋予wr.txt 文件读写和执行的权限,命令为:chmod 777 wr.txt

文件权限详解:一个文件的基本权限就是3种用户身份(所有者、所属组、和其他人)其中u表示所有者(蓝色框),g表示所属组(绿色框),o表示其他人(红色框)a代表三种身份即a+g+o

(1)增加某一个用户的权限命令为:chmod 用户身份+用户权限字母 文件名

如增加所有者的写和执行的权限,命令为:chmod u+wx 文件名

(2)移除一个用户的权限命令为:chmod 用户身份-用户权限字母 文件名

如移除所有者的写和执行的权限,命令为:chmod u-wx 文件名

(3)设定文件的权限命令为:chmod=用户权限字母 文件名

如设定所属组的权限为读写和执行,命令为:chmod g-rwx 文件名

(4)默认权限umask

Linux 是注重安全性的操作系统,⽽安全的基础在于对权限的设定,不仅所有已存在的⽂件和⽬录要设定必要的访问权限,创建新的⽂件和目录时,也要设定必要的初始权限。umask默认权限是

由4位数组成,其中第一位数代表的是⽂件所具有的特殊权限(SetUID、SetGID、 Sticky BIT)。后面三位数则表示所有者(u)、所属组(g)和其他人(o)的权限,将其转变为linux显示的字⺟形式为-----w--w-。

在 Linux 系统 中,⽂件和目录的最⼤默认权限是不⼀样的,文件的最大权限时666,也就是读写;而目录的最大权限是777,也就是读写和执行。

资源产看

查看内存 free

(1)free命令默认是以KB为单位显示的,命令free -m/g表示单位以MB/GB显示;

(2)Mem行 : total = used + free 其中used为真实已占内存,free为真实可用内存,buffers和cached虽然计算在used内, 但其实为可用内存。

(3)Swap:内存交换区的使用情况。

在内存方面,我们着重需要注意的是total即总内存,used已占用内存和available即可用内存三部分。

ps auxw | head -1;ps auxw|sort -rn -k4|head -5 查看内存占用前五的进程

ps auxw|head -1;ps auxw|sort -rn -k3|head -3 查看cpu占用前三的进程

(1)top行:系统时间+系统运行时间+用户数+1/5/15分钟系统的平均负载(Load everage)。top行中我们需要着重关注的就是平均负载,那么什么是平均负载?平均负载是系统处于可运行状态和

不可中断状态的平均进程数,可以简单理解为平均活跃进程数。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。如系统只有一个CPU的时候,平均负载是2 ,那

么在理想状态下,就会有百分之50的进程抢占不到cpu。

(2)Taska行:进程总数(total)+正在运行的进程数(running)+睡眠的进程数(sleeping)+已经停止的进程数(stopped)+僵尸进程数(zombie)。

(3)%Cpu行:用户空间CPU占比(us)+内核空间CPU占比(sy)+CPU空置率(id)。

TOP详解

PID:进程ID

USER:用户名

PR:优先级

NI:负值表示⾼优先级,正值表示低优先级

VIRS:虚拟内存

RES:共享内存

SHR:真是内存

S:进程状态 D表示不可中断的睡眠状态; R表示运⾏; S表示睡眠 ;T表示跟踪/停止; Z表示僵尸进程

查询端口

计算机常用端口ssh:22、http:80、https:443、emial:25、mySQL:3306。在计算机中,运行中的服务,其端口就是被监听或者被占用,就会显示LISTEN。如果服务没有运行,就是没有被占用。

lsof命令

查询命令为:lsof -i:端口号

如查询80的端口

查询端口

查询命令为:

netstat -tunlp 查询所有端口

netstat -tunlp|grep 端口号 查询某一个端口

其中,-tunlp的含义如下:

t(tcp):仅显示tcp相关选项;

u(udp):仅显示udp相关选项;

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

l:仅列出在Listen(监听)的服务状态;

p 显示建立相关链接的程序名。

如:我们查询80端口,得到的结果我们需要关注信息如下:

(1)80的端口被监听(占用)

(2)80的端口被nginx应用程序占用

进程查看ps

进程是操作系统最基本的运行单位,线程是进程的最小运行单位。

进程的状态:

(1)开始启动

(2)启动中

(3)运行中:端口被占用(LISTEN)

(4)休眠/假死

(5)停止:端口未被占用

1、-aux 进程查看具体命令:ps -aux| grep 进程名称

如查看nginx的状态

(1)USER:启动该进程的用户账号名称;

(2) PID:该进程在系统中的数字 ID 号,在当前系统中是唯一的;

(3)%CPU:CPU占用的百分比;

(4) %MEM:内存的占用百分比;

(5) VSZ:占用虚拟内存(swap 空间)的大小;

(6) RSS:占用常驻内存(物理内存)的大小;

(7) TTY:表明该进程在哪个终端上运行:“ ?” 表示未知或不需要终端;

(8) STAT:显示进程当前的状态:S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程);

(9) START:启动该进程的时间;

(10) TIME:该进程占用的CPU时间;

(11)该进程储存的位置。

我们一般关注的信息主要是进程的ID(PID)。

2、-elf 进程查看命令为:ps -elf |grep 进程名称

如查看nginx的状态:

结束进程

杀死某一个进程的命令:kill 9 PID

如杀死python3的进程:

img

编辑器vim

1、windows中创建记事本文件的方式:

(1)先创建文件,然后编写内容,最后保存;

(2)win+r,输入notepad,然后输入内容,最后保存。

2、linux中创建记事本文件的方式:

(1)先创建文件,然后vim 文件名称打开编写文件内容,最后保存。该方法需要提前创建文件,才可进行编辑。

(2)vim 文件名称。该方式不用提前创建文件,直接输入命令就会自行创建文件,点击代表edit的字母即可进行编辑。

3.1vim编辑文件

vim编辑文件的操作步骤:

1、打开通知台,连接linux,输入命令:vim 文件名称,打开要操作的文件或者创建文件

2、进入vim的编辑器后,输入a或者i

3、在最下栏就会显示insert/插入,那么就说明可以编写内容了

4、开始编写内容,编写完成后,开始保存步骤

5、先按下esc键,再按下shift+:

6、最后点击wq就是保存;如果不保存,那么输入的是q!

-vim快速修改文件

vim修改文件的操作步骤:

(1)vim 文件名称,进入文件编辑界面,输入命令:/修改的内容

(2)点击enter搜索需要修改的内容,然后点击a进行修改;

(3)修改结束后按照编辑文件的步骤进行保存和退出即可。

vim编辑器快捷键:

(1)enter:回车键换行;

(2)Del:删除光标所在的字符;删除键删除光标前一个字符。

(3)方向键:前后左右移动光标;

(4)Home/END:移动光标到行首/行尾;

(5)Page Up/Page Down:上下翻页;

(7)X:进入编辑页面后,点击x可以进行删除。

注意:在整个操作过程中需要特别注意的是,除了对内容做修改外,其他操作都需将输入法切换为英文。

文件查找

根据文件名查找find

精准搜索

(1)find / -name "要查找的文件名"

如查找nginx文件:

img

 

模糊搜索

(1)find / -name 要查找的文件部分文件名

如查找nginx文件:

(2)根据文件大小查找命令:find / -size 文件大小(以kb为单位)

如查找100MB的文件:find / -size 102400

(3)whereis 主要用于查看文件的存储位置,查看命令为:whereis 文件名

(4)在环境变量中文件的查找命令为:which 文件名

如查找nginx文件和查找ls

which主要用于在环境变量中进行查找。那么什么是环境变量呢?环境变量在互联网中常称做PATH,Windows中设置环境变量是在此电脑的属性中;linux中设置环境变量是在.bash_profile文件中设置。

输出echo命令

将想要输出的内容输出,输出命令为:echo“输出内容”

如想要输出“my name is wangrong"

输出printf命令

将想要输出的内容输出,输出命令为:printf“输出内容”

如想要输出“my name is wangrong"

在输出的内容中,我们可以通过\n来表示换行、\t来表示空格、%s来表示字符串、%d来表示整数数字、%f来表示带小数点的数字。

如:我们要输出以下内容:我的名字是云中君,我的年龄是1,我今天花的钱是30,可以有以下两种输入方式:

常用得数据类型:

int :整型数字(用%d代替)

str/string:字符串(用%s代替)

float:带小数点得数字(用%f代替)

Boolean:逻辑真假,(真true;假flase)

用户管理

管理员相关(root账户)

与管理员(root账户)相关的用户管理(即只有root账户可以进行的操作)

(1)用户创建

创建用户的命令为:useradd 用户名

(2)用户删除

删除用户的命令为:userdel 用户名

(3)修改密码

修改密码的命令为:passwd 用户名

切换用户 ,具体命令:su -用户名(用户名和-之间有个空格)

文件传输scp

不同终端之间Linux的文件传输,具体命令为:scp 文件名 账户名@101.43.158.84(服务器IP地址):/传到那个目录下

如把 wr.txt文件传输到某个服务器的ln账户的home目录下,具体命令为:scp wr.txt ln@101.43.158.84:/home/ln

文件压缩

1、zip压缩方式

zip的压缩方式特点是压缩和解压后源文件还会被保留,可以把多个文件压缩到一个压缩包中,zip可以压缩文件夹。

(1)压缩

zip方式压缩文件的命令为:zip定义压缩后压缩包的名称.zip需要压缩的文件名

如把wr.sh和w.txt文件压缩到yy.zip压缩包中:zip yy.zip wr.sh w.txt

(2)解压

zip方式解压压缩包的命令为:unzip 要解压的压缩包名称

如把yy.zip压缩包解压:unzip yy.zip

2、gz压缩方式

gzip的压缩方式特点是压缩和解压后源文件不会被保留,只能把多个文件分别进行压缩,gzip不能压缩文件夹。

(1)压缩

gzip方式压缩文件的命令为:gzip 要压缩的文件名

如把wr.sh文件压缩为wr.sh.gz压缩包:gzip wr.sh

(2)解压

gzip方式解压压缩包的命令为:gunzip 要解压的压缩包名称

如把wr.sh.gz压缩包解压:wr.sh

3、tar压缩方式

tar的打包命令选项:

(1)-c:打包

(2)-f:指定压缩包的文件名。压缩包的扩展名是用来给管理员识别的,所以一定要正确指定扩展名。

(3)-v:显示打包文件过程(-cf必须结合使用,-v可以选择性使用)

(1)压缩

tar方式压缩文件的命令为:tar -选项 定义压缩后的文件名.tar需要压缩的文件

如把wr.sh和w.txt文件压缩到yl.tar压缩包中:

(2)解压

tar方式解压压缩包的命令为:tar - 选项 压缩包名称,"tar"解压命令选项:

-x:解压包

-f:指定压缩包的文件名

-v:显示解压包文件过程(与压缩同理-cf必须结合使用,-v可以选择性使用)

如把yl.tar压缩包解压:tar -xf yl.tar

4、tar.gz压缩方式

(1)压缩

tar.gz方式压缩文件的命令为:tar -j选项 定义压缩后的文件名.tar.gz需要压缩的文件,其中的选项与tar方式一致。

如把wr.sh和w.txt文件压缩到wr.tar.gz压缩包中:

(2)解压

tar.gz方式解压文件的命令为:tar -j选项 压缩包名称,其中的选项与tar方式解压方式一致

如把wr.tar.gz进行解压:

Tomcat端口

tomcat是干什么的呢?

简单来说,通过tomcat我们可以部署java程序的环境,进而访问程序,tomcat的默认端口是8080。

tomact的下载

(1)下载tomcat时需要注意我们要下载core下的文件,下载tomcat的网址为:https://tomcat.apache.org/download-80.cgi

(2)找到要下载的文件后,鼠标右键剪辑文件,选择复制链接地址

(3)打开控制台,链接到linux服务器,然后下载文件即可,下载的命令为:wget 复制的链接地址。

环境部署步骤

java程序环境部署的过程(开发写的程序的访问过程):

(1)通过maven把程序打包成文件名.war,如index.war;

(2)把java程序的index.war包放到tomcat的Webapps下;

(3)启动tomcat

(4)通过网址:http://IP(:8080/文件名,就可以访问开发写的程序了。

实战练习

下载tomcat,然后修改端口并且找到程序的开始与停止的文件,操作步骤如下:

(1)点击下载文件的网站链接,进入后找到core下面的taz.gz压缩包;

img

(2)鼠标右键点击taz.gz,复制链接地址;

(3)打开控制台,链接linux后,下载压缩包,下载命令为:wget 复制的链接地址

(4)下载完成后进行解压,解压的命令为:tar -zxvf 压缩包名称;

(5)解压后进行端口修改的操作,操作步骤为:首先查询文件目录,然后进入conf目录下,编辑sever.xml文件,修改端口即可。

(6)最后进入到bin目录下,就可以看到程序的开始与停止的脚本。

tomact中目录的解读

bin:存放Tomcat的可执行文件,程序的开始与停止脚本就存放在bin目录中。

conf:存放Tomcat的配置文件,修改端口是在conf目录下的sever.xml中。

logs:存放Tomcat执行时的日志文件

lib:存放Tomcat运行需要的库文件

webapps:存放Tomcat的应用文件

temp:存放tomcat执行时的临时文件

1.1、场景:某个程序执行错误,如何查找错误信息?

如nginx执行时出错,找到的步骤:

(1)链接到nginx部署的服务器;

(2)文件查找,find / -name nginx,找到nginx的目录;

(3)进入到nginx(cd )的目录下,然后查看文件,找到logs,进入logs目录下,然后(pwd)查看当前目录;

(4)然后tail -f error.log就可以查看到实时的错误日志。

(5)截图给开发。

2.2、场景:tomcat启动不起来,如何查看日志排查错误信息;如果是端口(8080)被占用,如何修改默认端口?

解决步骤:

查找

(1)链接到tomcat部署的服务器;

(2)文件查找,find / -name tomcat,找到nginx的目录;

(3)进入到tomcat(cd )的目录下,然后查看文件,找到logs,进入logs目录下,然后(pwd)查看当前目录;

(4)然后tail -f error.log就可以查看到实时的错误日志。

(5)截图给开发。

修改

(1)从logs目录下返回到tomcat目录下(cd ..);

(2)然后查看ls目录,进入到conf目录下,找到sever.xml文件;

(3)vim编辑sever.xml文件,进入编辑页面后,/8080即可快速定位到要修改8080端口,然后点击a进行修改即可;

(4)修改结束后,点击esc,再点击shift+:后再输入wq进行保存和退出即可。

3.3、场景:创建一个.sh文件,然后令其执行时输出当前时间和root目录下的所有文件信息,包含隐藏文件。

操作如下:

(1)链接到linux服务器,登陆的是root账户;

(2)创建.sh文件,创建的命令为:touch 文件名;

(3)vim编辑器进入编辑页面进行编辑,命令为:vim 文件名(也可不先创建,直接这个命令进行创建和编辑),编辑的内容为:date 和 ls -la

(4)编辑成功后,按照vim保存步骤进行保存,然后查看文件内容

(5)内容写入成功后,赋予文件读写和执行的权限chmod 777 文件名

(5)最后输入命令./文件名 执行文件即可。

4.4、场景:如何快速定位程序的内存溢出错误?

可以找到日志文件(out of memory)?

(1)先找到程序的错误日志,进入日志所在的目录;

(2)使用vim编辑器,进入编辑页面,/out of memory 即可定位到错误位置。

如果日志被删除后,即找不到日志文件?

(1)运行出现内存溢出的程序;

(2)然后tail -f logs.txt查看实时日志即可。

标签:总结,文件,查看,文件名,命令,概述,Linux,权限,目录
来源: https://www.cnblogs.com/wrwangrong/p/16560294.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有