Linux基础参考全文


本文涉及的更多是Linux下的使用命令,可作为参考使用,如果是想学习Linux,那这篇文章可能不太适应。适合有一定基础的朋友。如有错误之处,希望朋友们在评论处指出,谢谢翻阅!!!

1、注意事项

  1. Linux的命令和文件名严格区分大小写;

  2. Linux中所有内容以文件形式保存,包括硬件;硬盘文件是.dev.sd[a-p]、光盘文件是/dev/sr0

  3. Linux中命令行对网络设置、环境变量或服务配置文件的更改是临时生效的;

  4. Linux不靠扩展名区分文件类型;但可以使用扩展名的形式用来管理,作为提示:

    压缩包:*.gz*.bz2*.tar.bz2*.tgz等;

    二进制软件包:*.rpm

    网页文件:*.html*.php

    脚本文件:*.sh

    配置文件:*.conf

  5. Linux所有的存储设备都必须挂载(类似分配盘符)之后才能使用,包括硬盘、U盘等;

2、各目录的作用

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3、命令格式

命令格式:命令 [-选项] [参数];例:ls -la /etc。参数是命令操作的对象,可以是目录、文件、对象等;

说明:

  1. 个别命令使用不遵循此格式;
  2. 当有多个选项时,可以写在一起;
  3. 简化选项与完整选项;-a 等于 --all

4、常用命令

1 目录处理命令

1.1 显示目录文件信息

ls:显示所有目录文件;语法ls 选项[-all] [文件或目录]

选项-a显示所有包括隐藏的文件;-l显示详细信息;-d查看目录属性;-i显示文件的唯一标识;-h换格式显示文件大小

文件信息内容格式
-rw-r--r-- 1 root root  9.9M Dec 11 20:38  bison
* 所属者 所属组 文件大小 最后修改时间 文件名

-rw-r--r--
-:是文件类型(- 二进制文件;d 目录;l 软连接文件)
rw-          r--          r--
u(所有者)     g(所属组)     o(其他人)
r读——w写——x执行

mkdir -p [目录名...]:创建新目录;-p递归创建目录

cd /路径:切换目录;.当前目录;..上一级目录;\转义符

pwd:显示当前目录路径

1.2 复制、剪切、删除

rmdir /路径:删除空目录;

cp -rp [原文件][目标目录]:复制文件或目录;-r复制目录;-p保留目录属性

mv [原文件][目标目录]:剪切文件、重命名;

rm -rf [文件或目录]:删除文件;-r删除目录;-f强制删除

2 文件处理命令

2.1 创建文件

touch [文件名]:创建空文件;

2.2 查看文件内容

cat -n [文件名]:显示文件内容;-n 显示行号;

tac -n [文件名]:反向显示文件内容;

more [文件名]:分页显示文件内容;

操作:空格或f——翻页;Enter——换行;q——退出;

less [文件名]:分页显示文件内容,可向上翻页;

操作:除more的操作外,还支持PageUp——向上翻页;↑ ——向上换行;/——调用搜索功能;n——查找下一个搜索内容;

head -n 行数 [文件名]:显示文件内容前几行;

tail -nf 行数 [文件名]:显示文件内容后几行;-f动态显示文件末尾内容;

2.3 输出重定向、追加

>:输出重定向。将原来文件的内容覆盖掉;

>>:追加。将内容追加到文件尾部;

ls -lh > a.txt		#将文件信息列表输出重定向到a.txt文件中,若文件不存在会创建
cat a.txt > b.txt	#将a.txt的文件内容覆盖到b.txt	
2.4 软、硬链接

ln -s [原文件] [目标文件]:生成连接文件;-s创建软链接

软链接:文件权限lrwxrwxrwx(类似Windows快捷方式);
	   只是符号链接,箭头指向源文件;
硬链接:拷贝cp -p + 同步更新;
	   通过i节点识别;与源文件的i节点一致
	   不能跨分区;
	   不能针对目录使用;

3 权限管理命令

chmod [mode=421]:改变文件或目录权限;

两种方式
语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
		   [mode=421] [文件或目录]

r----4;w----2;x----1
rwx——7;rw——6;r-x——5

-R递归修改,改变目录权限同时改变目录下所有文件的权限;

chown [用户] [文件或目录]:改变文件或目录的所有者;

chgrp [所属组] [文件或目录]:改变文件或目录的所有组;

umask [-S]:显示、设置文件的缺省权限;

新建的文件是没有可执行权限的;

4 文件搜索命令

4.1 find搜索

find [搜索范围] [匹配条件]:文件搜索;

* 匹配任意字符
?匹配任意一个字符

选项

# -name:根据文件名搜素(区分大小写)
find /tmp -name init

# -iname:根据文件名搜索(不区分大小写)

# -size +n;-size -n  :根据数据块搜索;一个数据块=512字节=0.5k
find / +204800   查找大于100M的文件

# -user:根据所有者查找
# -group:根据所属组查找
# -amin:根据访问时间access查找
# -change:根据文件属性change查找
# -mmin:根据文件内容modify查找
# 连接符号:
#	-a:两个条件同时满足
#	-o:满足其中一个条件
find / -size  +163840 -a -size -204800

# -type:根据文件类型查找:f 文件;d 目录;l 软链接文件
# -inum:根据i节点查找

# -exec 命令 {} \; 对搜索结果执行操作
# -ok 命令 {} \; 对搜索结果执行操作时进行询问
find /etc -name init* -exec ls -l {} \;
4.2 locate指令

locate [文件名]:在文件资料库查找文件;

yum install locate # 获取locate命令
updatedb # 更新资料库

# locate -i [文件名]:不区分大小写
locate -i a.txt

新建的文件需要更新到资料库
4.3 搜索命令

which [命令]:搜索命令所在目录及别名信息;

whereis [命令]:搜索命令所在目录及帮助文档路径;

4.4 管道指令

grep -iv [指定字符] [文件]:在文件中搜寻字符串匹配的行并输出;-i不区分大小写;-v排除指定字串

|:管道符号。表示将前一个命令的的处理结果传递给后面的指令进行处理;

5 帮助命令

man [命令或配置文件]:获得命令或配置文件的帮助信息;当同时获取命令帮助文档和配置文件的帮助信息;1 命令的帮助 ;5 配置文件的帮助

whatis [命令]:查看命令的简短信息;

apropos [配置文件]:查看配置文件的简短信息;

命令 --help:可以查看当前命令可用的选项;

help:查找shell内置命令的帮助信息

6 用户管理命令

6.1 添加、删除用户

useradd [新用户]:添加新用户;

useradd -d [目录] [用户名]:指定目录作为新创建用户的家目录;

useradd -g [所属组] [用户名]:创建用户,并指定其所属组;

usernod -g [所属组] [用户名]:修改用户的所属组;

userdel [用户名]:删除指定用户名,但会保留家目录;

userdel -r [用户名]:删除指定用户及其家目录;

6.2 修改密码

passwd:修改当前用户密码;passwd [用户]管理员能修改所有用户的密码;

6.3 查看、切换用户

id [用户名]:查看指定用户信息;

su - [用户名]:切换用户;

exit:返回原来的用户状态

6.4 添加、删除组

groupadd [新组]:添加新所属组;

groupdel [组名]:删除所属组;

6.4 查看登录用户信息

whoami:查看当前是哪个用户;

who:查看登录用户信息:登录用户名 登录终端 登录时间(IP地址);

w:查看登录用户详细信息;

7 压缩解压命令

7.1 gzip文件

gzip [文件]:压缩成.gz格式文件;不能压缩目录;

gunzip [压缩文件] /gzip -d [压缩文件]:解压缩.gz的压缩文件;

压缩后/解压缩后不保存源文件

7.2 tar文件

tar [选项] [压缩后文件名] [目录]:打包或解包;

-c打包;-z打包同时压缩;-v显示详细信息;-f指定文件名;

-x解包;-z解压缩;-v显示详细信息;-f指定解压文件名;

tar -czvf file.tar.gz files

tar -xzvf file.tar.gz

tar -xzvf file.tar.gz -C /root/ # 解压到其它文件目录
7.3 zip文件

zip 选项[-r] [压缩后文件名] [文件或目录]:压缩文件或目录;-r压缩目录;

unzip [压缩文件]:解压.zip的压缩文件

7.4 bzip2文件

bzip2 选项[-k] [文件]:压缩.bz2文件(与.gz格式一样);-k 产生压缩文件后保留原文件

bunzip2 -k [文件]:解压缩;-k解压缩后保留原文件

bzip2 -k first.txt

tar -cjf file.tar.bz2 files
-cjf:表示打包并压缩为bz2格式

bunzip2 first.txt.bz2

tar -xjf file.tar.bz2
-xjf:表示解包并解压缩bz2格式文件
文件格式	 |	   压缩		|		解压
------------------------------------------------------
.gz			| 	 gzip		|	  gunzip(gzip -d)
.tar		|	 tar -cf	|	  tar -xf
.zip		|	 zip -r		|	  unzip
.bz2		|	 bzip2 -k	|	  bunzip2
.tar.gz		|	 tar -czf	|	  tar -xzf
.tar.bz2	|	 tar -cjf	|	  tar -xjf

8 网络命令

write[用户] 内容 :给用户发信息,以Ctrl+D保存结束;

  • 编辑内容时,使用Ctrl+退格键删除内容;
  • 用户在线才可发送;

wall [内容]:给所有在线用户发广播信息;

ping [选项] IP地址:测试网络连通性;-c指定发送次数;

ifconfig [网卡名称] [IP地址]:查看和设置网卡信息;

mail [用户名] 内容 :发送电子邮件;

  • mail 查看邮件——输入邮箱序列号查看内容——h再次查看邮箱列表——d 序列号删除邮箱

last:列出目前与过去登入系统的用户信息;

lastlog:列出所有用户的最后登录信息;

traceroute [网址或网址IP]:显示数据包到主机间的路径;

natstat [选项]:显示网络相关信息;-tTCP协议;-uUDP协议;-l监听;-r路由;-n显示IP地址和端口号

netstat -ltun	查看本机监听的端口
netstat -an		查看本机所有的网络连接
netstat -rn		查看本机路由表

setup:配置网络;

mount [-t 文件系统] 设备文件名 挂载点:挂载设备

umount 设备文件名:卸载挂载点

mkdir /mnt/cdrom  设置挂载点

mount -t iso9660 /dev/sr0 /mnt/cdrom/	挂载设备
mount /dev/sr0 /mnt/cdrom/

umount /dev/sr0  卸载挂载点

cd /mnt/cdrom/	访问挂载点

9 关机重启命令

shutdown [选项] 时间:关机;-c取消前一个关机命令;-h关机;-r重启

shutdown -h now		现在关机
shutdown -h 20:00	20:00关机

halt:直接使用,等价于立即关机;

reboot:重新启动计算机;

sync:把内存的数据同步到磁盘上;

通过runlevel显示当前系统的运行级别,init _设置运行级别;

logout:用户注销;

5、Vim

所有的Linux系统都会内建 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

5.1 三种常见模式

  • 正常模式

    正常模式下,不能插入文本内容;但可以使用快捷键编辑文本;

  • 插入模式

    使用a、A;o、O;i、I;r、R快捷键,可以进入编辑文本模式;一般使用i即可;

  • 命令行模式

    提供相关指令,完成读取、存盘、替换、离开 vim 、显示行号等动作则是在此模式中达成的;

5.2 快捷键命令

  • 插入命令

    a在光标所在字符后插入内容;

    A在光标所在行尾插入;

    i在光标所在字符亲插入;

    I在光标所在行行首插入;

    o在光标下插入新行;

    O在光标上插入新行;

  • 定位命令

    :set nu设置行号;

    :set nonu取消行号;

    G到最后一行;

    nG到第n行;

    :n到第n行;

  • 删除命令

    x删除光标所在字符;

    nx删除光标之后n个字符;

    dd删除光标所在行内容;

    ndd删除光标所在行起n行内容;

    dG删除光标所在处起至文件末尾内容;

    D删除光标所在处到行尾内容;

  • 复制剪切命令

    yy复制当前行;

    nyy复制当前行以下n行;

    dd剪切当前行;

    ndd剪切当前行以下n行;

    p粘贴在当前光标所在行下;

    P粘贴在当前光标所在行上;

  • 替换取消命令

    r取代光标处字符;

    R从光标所在处起替换字符,按ESC结束;

    u取消上一步操作;

  • 搜索命令

    /string搜索指定字符串;:set ic忽略大小写;set noic区分大小写;

    n搜索指定字符串的下一个出现位置;

    :%s/old/new/g全文替换指定字符;:%s/old/new/c每次替换前询问;

    :n1,n2s/old/new/g在一定范围内替换内容;

  • 保存退出命令

    :w保存修改;

    :w newFileName另存为指定文件;

    :q退出;

    :wq保存退出;

    ZZ保存退出,快捷键;

    :q!不保存修改退出;

    :wq!保存修改并退出,在不允许写入的文件内进行保存修改(仅文件所有者及root);

5.3 Vim技巧

导入命令执行结果
导入命令:-r 文件
-r /tmp/readme.msge

执行:!命令(在vim中执行命令但不影响文件内容)

-r !命令:将命令的执行结果导入文件光标处
-r !date
定义快捷键
:map 快捷键 触发命令	——	快捷键:Crtl+v+p = ^p
:map ^p I#<ESC>		设置Crtl+P快捷键为跳到行首添加#
连续行注释
:n1,n2s/^/#/g		在n1,n2行首添加#,^表示行首添加
:n1,n2s/^#//g		将n1,n2行首的#删除
替换
ab 输入内容 替换内容
ab email xxxxxxxx@xx.com——在vim中输入email空格或换行可替换成真正的邮箱
永久保存快捷键
在/root目录或用户目录下,创建配置文件 .vimrc
设置快捷键

例如:	/root/.vimrc、/home/username/.vimrc
set nu
map ^p I#<ESC>
map ^B 0x
ab email xxxxxxxx@xx.com

6、软件包管理

源码包:源代码开源包;编译安装,更稳定效率更高;卸载方便(直接删除);

二进制包:源码包进行编译之后的软件包(RPM包、系统默认包);二进制包便于安装,只需几个命令就可以安装、升级、查询和卸载;

缺点:经过编译,无法查看源码;功能选择比源码不灵活;依赖性高

6.1 RPM包管理

RPM包命名原则

软件包名-软件版本-软件发型次数.适合的Linux平台.适合的硬件平台.rpm包扩展名

RPM包依赖性

  • 树形依赖:a→b→c(先安装c,最后安装a)(先卸载a,最后卸载c)
  • 环形依赖:a→b→c→a(一条命令同时安装abc包)
  • 模块依赖:模块依赖查询网址

包全名:操作的包是没有安装的软件包时。使用包全名,而且要注意路径;
包名:操作已经安装的软件包,使用包名。是搜索/var/lib/rom中的数据库;

6.2 rpm管理

1. 安装

rpm -ivh 包全名-i安装;-v显示详细信息;-h显示进度;--nodeps不检测依赖性

2. 升4级

rmp -Uvh 包全名-U升级

3. 卸载

rpm -e 包名-e卸载;--nodeps不检查依赖性

4. 查询

rpm -q 包名:检查包是否安装

rpm -qa:查询所有已安装的包

rpm -qi 包名:查询包名的详细信息;-i查询软件信息;-p查询未安装包(包全名)信息

rpm -ql 包名:查询包的文件安装位置;-l列表;-p查询未安装包(包全名)信息

rpm -qf 系统文件名:查询系统文件名属于哪个RPM包;-f查询系统文件属于哪个软件包 (file)

rpm -qR 包名:查询软件的依赖性;R查询软件包的依赖性;-p查询未安装包(包全名)信息

5. 包校验

rpm -V 已安装的包名:校验软件的系统文件是否被其他人修改;-V校验指定RPM包的文件
在这里插入图片描述
在这里插入图片描述

RPM包文件提取
rpm2cpio 包全名 cpio|-idv .文件绝对路径 :把包中的某个文件提取到当前路径

rpm2cpio  将rpm包转换为cpio格式命令
cpio	  用于创建软件档案文件和从档案文件中提取文件

cpio 选项 <文件名
-i:copy-in模式,还原
-d:还原时自动创建目录
-v:显示还原过程

6.3 yum在线管理

yum命令

yum list:查询所有可用软件列表

yum search 关键字:搜索服务器上所有和关键字相关的包

yum -y install 包名:安装;-y自动回答yess

yum -y update 包名:升级;-y自动回答yes

yum -y remove 包名:卸载

yum grouplist:列出所有可用的软件组列表,可查询组名

yum groupinstall 软件组名:安装指定软件组

yum groupremove 软件组名:卸载指定软件组

7、系统管理

7.1 任务调度

任务调度:指系统在某个时间执行特定的命令或程序;

crontab [选项]:进行定时任务的设置;-e编辑定时任务;-l查询任务;-r删除当前用户的所有任务;

crontab -e

# 进入任务编辑
# */1 * * * * ls -l >> do.txt

5个占位符的说明

项目含义范围
第一个 *一小时中的第几分钟0 - 59
第二个 *一天中的第几小时0 - 23
第三个 *一月中的第几天1 - 31
第四个 *一年中的第几个月1 - 12
第五个 *一周中的星期几0 - 7(0,7都表示星期日)

特殊符号

特殊符号描述
*表示任何时间。
,代表不连续时间。比如0 8,12 * * *:代表每天的8点0分、12点0分执行任务
-代表连续的时间范围。比如0 5 * * 1-5:代表周一到周五的5点0分执行任务
*/1代表每隔多久执行。比如*/1 * * * *:代表每隔1分钟执行一次任务

service crond restart:重启任务调度

7.2 进程管理

1. 基本介绍
  1. 在LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
  2. 每一个进程都会对应一个父进程,而这个父进程可以复制多个子进程。例如:www服务器。
  3. 每个进程都可能以两种方式存在:前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才才结束。
2. 系统进程的显示

ps:显示目前系统中执行的进程;-a显示当前终端的所有进程信息;-u:以用户的格式显示进程信息;-x显示后台进程运行的参数

显示进程的信息

列名描述信息
USER用户名称
PID进程号
VSZ进程占用的虚拟内存大小(单位:KB)
RSS进程占用的物理内存大小(单位:KB)
TT终端名称(缩写)
STAT进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
START进程的启动时间
TIME即进程使用CPU的总时间
COMMAND启动进程所用的命令和参数,如果过长会被截断显示

ps -ef:以全格式显示当前所有的进程,查看进程的父进程;-e显示所有进程;-f全格式显示;

3. 终止进程

kill -9 [进程号]:杀死指定进程号的进程;-9强制立即停止进程

killall [进程名]:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用;

4. 进程的监控
4.1 动态监控

top与ps命令很相似,都是用来显示正在执行的进程。top与ps最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。

top [选项]:查看执行的进程;-d 秒数指定top命令隔几秒更新,默认3秒;-i不显示闲置或僵死进程;-p通过指定进程ID来监控某个进程的状态;

交互操作

操作功能
P以CPU使用率排序(默认项)
M以内存的使用率排序
N以PID排序
q退出top
4.2 监控网络服务

netstat [选项]:查看系统网络情况;-an按一定排序输出;-p显示哪个进程在调用;

7.3 服务管理

服务(service) 本质就是进程,但是运行在后台,通常会监听某个端口,等待其它程序的请求,比如(mysql , sshd防火墙等),因此我们又称为守护进程。

service [start|stop|restart|reload|status] [服务名]:服务的开启、停止、重启、重加载、查看状态;

centOS7.0之后使用的是systemctl指令。

1 查看服务

目录/etc/init.d/下可以查看所有服务。centos7使用systemctl list-unit-files可以列出所有的服务

系统各个运行级别下设置服务的自启动(centOS 7.0之前)
chkconfig:给每个服务在各个运行级别时设置是否自启动。

chkconfig --list:查看所有服务的自启动状态

chkconfig [服务名] --list:查看指定服务的自启动状态

chkconfig --level [级别] [服务名] on/off:指定服务在某个级别下是否自启动

centOS 7.0
systemctl --type service:查看服务

systemctl enable [服务名]:指定服务自启动

systemctl disable [服务名]:指定服务不自启动

2 防火墙

firewall-cmd --state:查看防火墙状态

firewall-cmd --zone=public --list-ports:查看防火墙所有开放的端口

firewall-cmd --zone=public --add-port=端口号/tcp --permanent:开放指定端口

firewall-cmd --zone=public --remove-port=端口号/tcp --permanent:关闭指定端口

firewall-cmd --reload:配置立即生效

systemctl [start][restart][stop] firewalld.service:开启、重启、关闭防火墙

netstat -lnpt:查看监听端口。无netstat命令时,需安装 yum install -y net-tools

  • -l 仅列出在Listen(监听)的服务状态;
  • -t (tcp) 仅显示tcp相关选项;
  • -u (udp)仅显示udp相关选项;
  • -n 拒绝显示别名,能显示数字的全部转化为数字;
  • -p 显示建立相关链接的程序名
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值