Liunx与Shell

小编 2026-06-15 阅读:1347 评论:0
为什么要有Liunx?       我们用手机浏览器打开一个网页的时候,和用电脑浏览器打开同一个网页时,显示是不一样的,手机浏览器会自动的去适应这个网页,但是如果手机打开的网页和电脑浏览器打开的网页那样,...

为什么要有Liunx?

      我们用手机浏览器打开一个网页的时候,和用电脑浏览器打开同一个网页时,显示是不一样的,手机浏览器会自动的去适应这个网页,但是如果手机打开的网页和电脑浏览器打开的网页那样,那么就要我们自己去进行缩放,去找到自己的东西,那样很麻烦,我们的操作也很不方便。

      所以系统程序在Liunx运行的时候,Liunx会自动去协调、调整相关的参数,并且Liunx提供好一些所需要的功能,网络功能、多用户登录等功能,无需用户自己在去构建这些东西,程序在运行的时候和网络的交互等,Liunx已经帮助我们做好了。

 

 

什么是Liunx?

      这个要讲一下这个Unix和Liunx的一点小历史,大家可以理解为在60年代,有一群人可以说是在这个AT&T贝尔实验室内机缘巧合下开发了出了这个系统(具体的历史,大家去百度,我们这是用白话文去讲解),AT&T意识到了这个操作系统的商业价值就将Unix包装成商业产品(收费)。

      Liunx的产生是源于有那么一个人林纳斯·托瓦兹(Linus Torvalds),也就是这Liunx创始人,觉得不满意那些收费的,他就以Unix为基础编写了一个新的操作系统,这个新的操作系统就是Liunx。

      Liunx在编写的过程中,使用了大量的由麻省剑桥免费软件基金的GNU软件,也是要感谢这个Liunx创始者,所以这个Liunx才得以开源,免费。

      Liunx是一套免费和自由传播的类Unix操作系统,一个多用户、多任务、支持多线程和多CPU的操作系统,Liunx能运行主要的Unix工具软件、应用程序和网络协议,所以Liunx也继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Liunx也支持32位和64位硬件。

      目前市面上比较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、Suse、OpenSUSE。

 

 

为什么不用Windows作为服务器操作系统?

      Windows是我们常用的桌面化操作系统,但是这个桌面化操作系统为了更加人性化,所以做了很多事情,使得用户不用在像操作Unix或Liunx那样敲代码,但是就因为做了太多的事情,使得我们的应用在运行的时候,往往很多计算机资源就没有办法给应用利用起来,因为这些资源都去做了很多人性化的东西。

      Liunx就是一个白色,空的篮。

      Windows就是一个装饰好,而且还很人性化的设计了一个可以提的把手。

      Liunx适合搬运东西。

      Windows适合出去拿着出去买菜。

 

 

Liunx特点

      一切都是文件

      没有后缀之说,什么后缀的文件都可以查看

      支持32位和64位硬件

      多用户

      ……

 

 

Liunx目录结构(标红就是常用)

目录

描述

/

根目录

bin

系统脚本命令

boot

系统启动相关

dev

挂载外部设备(光盘等…)

etc

配置文件

home

自定义用户根目录

lib64

Liunx自带库(C++等)

lost+found

 

media

存放系统自动识别设备,例如U盘

mnt

也是用于挂载用,例如共享文件夹

opt

挂载软件,用户安装的软件所相关的存放目录,如:oracle

proc

存放系统镜像、内存

root

超级管理员目录

sbin

系统命令

seliunx

系统安全相关

srv

Service简写,系统服务等

tmp

临时文件

usr

存放一些安装软件,和opt差不多

var

变化文件(日志、变量…)

 

 

Vim编辑器

所有的Unix Like系统都会内建Vi文书编辑器,其他的文书编辑器则不一定会存在,但是目前使用比较多的是Vim编辑器。

Vim具有程序编程能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

Vim是从Vi发展出来的一个文本编辑器。

简单来说Vi是老式的字处理器,不过功能很齐全了,但是还有进步的空间。

 

Vim编辑器有三种模式:一般模式、编辑模式、指令模式

 

文本使用Vim编辑器命令:

vi test.txt

vim test.txt

 

 

编辑模式

操作

描述

i

进入编辑模式,当前光标前

a

进入编辑模式,当前光标后

o

进入编辑模式,当前光标行下一行,新开一行

 

 

指令模式

进入指令模式:输入 :

操作

描述

:set nu

设置行号

:set nonu

取消行号

:wq!

w 保存、q 退出 、 ! 强制执行

 

 

一般模式

操作

描述

yy

复制光标一行

y数字y

复制一段(光标起始,第几行到第几行)

p

箭头移动到目的行粘贴

u

撤销上一步

dd

删除光标当前行

d数字d

删除光标(含) 后多少行

x

删除一个字母

X

删除一个字母

yw

复制一个词

dw

删除一个词

shift+^

移动到行头

shift+$

移动到行尾

1+shift+g

移动到页头

shift+g

移动到页尾

数字N+shift+g

移动到目标行

 

 

命令操作(常用)

查看网络的IP和网关

命令

描述

备注

示例

ifconfig

查看网络和网关

 

 

ping 地址

 

 

ping 192.168.1.1

service network restart

重启网络

 

 

netstat

显示网络统计信息

 

netstat -anp #显示整个系统的网络请,连接数,书包传递,路由表内容等

 

 

配置主机名称

命令

描述

备注

示例

hostname

查看主机名称

 

 

hostname 主机名

临时修改主机名称

 

hostname myhost

cat/etc/sysconfig/i18n

查看系统语言

 

 

 

 

永久性修改主机名

CentOS6

修改主机名称:vi /etc/sysconfig/network

修改:HOSTNAME=hadoop100

备注:修改是不起作用的,要reoot机器重启才会启用,重启网络也是没有用的

 

CentOS7

vi /etc/hostname

#先删除,只保留下面内容

hadoop-senior01-levi.com

 

 

防火墙

Linux6.x系统防火墙

命令

描述

备注

示例

service iptables status

查看防火墙状态

 

 

service iptables stop

临时关闭防火墙

 

 

service iptables start

临时关闭的开启

 

 

chkconfig iptables --list

查看防火墙状态列表

0系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动

1单用户工作状态,root权限,用于系统维护,禁止远程登录

2多用户状态,没有NFS

3完全的多用户状态,有NFS,登录后进入控制台命令行模式

4系统未使用,保留

5控制台,登录后进入图形GUI

6系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

 

chkconfig iptables off

关闭防火墙

 

 

chkconfig iptables on

启动防火墙

 

 

 

Linux7.x系统防火墙

命令

描述

备注

示例

firewall-cmd --state

查看防火墙的状态

 

 

iptables -L

查看防火墙的状态

 

 

systemctl stop firewalld.service

关闭防火墙

但是开机之后还会启动防火墙

 

systemctl disable firewalld.service

禁止firewall开机启动

 

 

cat /etc/sysconfig/iptables-config

查看防火墙配置

 

 

 

防火墙文件

修改防火墙文件,关闭防火墙值为disabled

vi /etc/sysconfig/seliunx

SELINUX=disabled

 

关机重启

命令

描述

备注

示例

sync

将内存的数据同步到磁盘中

养成关机和重启都操作一次是最好

 

shutdown [选项] 时间

关机或重启

 

shutdown -h now #马上关机

shutdown -r now #马上重启

shutdown -r 1 \"描述信息\" #一分钟后重启

halt

直接关机

等于shutdown -h now 和 power off

 

reboot

重启

等于shutdow -r now

 

 

 

常用快捷键

快捷键

描述

备注

示例

ctrl + c

停止进程或退出进程

 

 

ctrl + l

清屏

 

 

ctrl + q

退出

 

 

ctrl + alt

Liunx和windows之间切换

 

 

tab

自动补全

 

 

上下键

最近执行的命令

 

 

 

 

文件命令

命令

描述

备注

示例

pwd

显示当前目录绝对路径

 

 

ls

列出目录内容

-a 全部文件,包括隐藏文件

-d 列出目录本身

-l 长数据串列出,包括文件属性与权限,这个可写成ll

ls -a

ls -al

ll

 

mkdir 文件夹名称

创建空文件夹

-p 创建多层目录

mkdir dirname

 

mkdir -p f/s/t

ln

文件或文件夹链接

-s 软链接

硬链接:当原文件删除时,任然可以独立自由使用

软链接:当原文件删除时,就无法使用

touch test.sh

vi test.sh

#!/bin/bash

ls

 

ln -s test.sh testm.sh

ln test.sh testh.sh

chmod 777 test.sh testh.sh testm.sh

./testm.sh

./testh.sh

rm -rf test.sh

./testh.sh

./testm.sh

cd

切换目录

cd 切换目录

cd 绝对路径 #切换到当前这个文件夹下

cd 相对路径 #切换到文件夹内的文件夹

cd ~或cd #回到用户的家目录,即当前用户主目录

cd - #回到上一次的目录

cd .. 回到当前目录的上一级目录

cd -P 跳转到实际的物理目录,例如:软连接的文件夹

cd /home

cp

复制文件或目录

cp source dest #复制 原 目的地

cp -r source dest #复制(递归) 原 目的地

cp test.txt test2.txt

rm

删除文件或目录

-r 递归

-f 强制删除

-i 询问是否删除

rm -rf #强制递归删除文件夹


rm -i tt.t  #询问是否删除

mv

移动文件与目录或重命名

mv 原文件/文件夹名 新名(当前目录不可重名)

mv 被移动 移动地址

mv test.txt test2.txt

 

mv test.txt /home

cat

查看文件内容

cat 文件名

cat -n 文件名 #显示行号

cat -A #显示特殊符号,便于查询BUG,空行,看不见特殊字符等等

cat -b 列出行号,仅对非空白行做行号显示,空白行不标行号

cat -E #将结尾的空行以$显示

cat -T #将[tab]按键以^| 显示出来

cat -v #列出一些看不见的特殊字符

备注:-T和-v都包含到-A

cat -b - A -n #显示行号也显示符号

 

写法1:cat -nAbE string2.txt


写法2:cat -n -A -b -E string2.txt

tac

查看文件内容

是cat的反写,就是倒着看,从结尾行开始看

tac test.txt

more

查看更多文件内容,一页一页展示

空白键[space]:向下翻一页

Enter:向下翻一行

q:表示离开more,不在显示该文件内容,几乎所有q都代表离开,部分特殊的不说

ctrl+F:向下滚动一屏

ctrl+B:返回上一屏

=:输出当前行的行号

:f :输出文件名和当前行的行号

more test.txt

less

查看文件内容

作用和more类似,不同的是允许使用[pageup]和[pagedown]往回滚动
空白键,向下翻一页

[pagedown]:向下翻一页

[pageup]:向上翻一页

/字符串:向下搜索

?字符串:向上搜索

q: 离开less

less test.txt

head

查看文件内容头几行

-n 查看前几行

head -n 10 文件名 #查看文件前几行

tail

查看文件内容,查看尾几行,很多时候查看日志都是查看后几行

-f追踪文件变化,日志不断打印的时候,不断的监控追加的日志

tail -f 文件名

 

 

 

 

 

 

结果过滤

命令

描述

备注

示例

grep

将结果内搜索字符串匹配的行并输出

grep + 参数 + 查找内容 + 源文件
-c 输出匹配行总数

-l 不区分大小写(使用单字符)

-h 查询多文件时不显示文件名

-l 查询多文件时只输出包含匹配字符的文件名

-n 显示匹配行和行号

-s 不显示不存在或无匹配文本的错误信息

-v 显示不包含匹配文本的所有行

ls -l | grep ll.txt #将查询结果过滤出ll.txt这个文件

 

ls -l | grep -n ll.txt # 将查询结果过滤出ll.txt这个文件,并显示行号

ps -ef | grep tomcat   #查询出所有的进程信息,并且过滤出tomcat

 

 

命令连接符号

命令

描述

备注

示例

|

管道,将一个命令输出传送给另一个命令,管道可以连接多个文件

 

ls -l /etc | grep init #过滤这个查询出来的文件

ps -ef | grep tomcat   #查询出所有的进程信息,并且过滤出tomcat

&&

逻辑与

第一个命令成功,就执行第二个命令成功

ls && pwd #执行成功

lss && pwd #执行失败

||

逻辑或

第一个命令不成功,或执行第二个命令

ls || pwd

lss || pwd

>

输出重定向

> 输出结果覆盖文件

>> 输出结果在文件后追加

Shell对每一个进程预先定义了3个文件描述字,0,1,2

0标准输入,1标准输出,2标准错误输出

ll /usr > /home/test.log #会把ll的结果输出到这个文件中,会把内容给覆盖,将>换成>>才会追加

 

lls /usr 2> /home/test.log #错误重定向,将执行错误日志信息放到指定的log日志中

 

<

结果输入重定向

< 输出结果覆盖文件

<< 输出结果在文件后追加

Shell对每一个进程预先定义了3个文件描述字,0,1,2

0标准输入,1标准输出,2标准错误输出

wall < /test/x.log

 

 

历史

命令

描述

备注

示例

history

显示当前账号敲过的命令历史

 

 

 

 

时间、日期、日历

命令

描述

备注

示例

date [OPTION]...[+FORMAT]

时间

 

date #显示当前日期、时间

date \"+%Y-%m-%d %H:%M%:S\" #按照年月日,时分秒显示

date -d \"next day\" #明天的日期

date -d \"yesterday\" #昨天的日期

date -d \"next week\" #下周

date -d \"next monday\" #下周一

date -s \"2018-06-30 11:45:45\" #设置日期

cal

查看日历

 

cal #查看日历

cal -3 #最近三个月

cal 2017 #显示年的日历

 

同步时区:

1、先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可

2、拷贝该时区文件,覆盖系统本地时区配置

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

 

#重启后无效

sudo date -s \'2016-04-20 11:22:33\'

#永久

hwclock -w

 

#查看时区

timedatectl

 

 

分区、硬盘

命令

描述

备注

示例

fdisk

查看分区

-l 查看分区详情,在root权限下才能知晓

fdisk -l #查看分区详情,在root权限下才能知晓

 

 

命令帮助

命令

描述

备注

示例

man

帮助命令,获取命令的帮助文件,如何使用等

q 是退出

man ls

命令 –help

查看命令选项用法

 

 

 

 

搜索查找

命令

描述

备注

示例

find [搜索范围] [搜索条件]

查找文件或目录

-name 按照文件名查找

-size 按照文件大小查找

-type 按照文件类型查找(f二进制文件、l链接文件、d是目录)

 

find 也可以用逻辑与和逻辑或

-a 逻辑与

or 逻辑或

 

-exec是连接其他一起

find /home -name \"*.txt\" #查询home目录下的所有文件,后缀是.txt

 

find /home -user root *.txt #所有者的是root的用户,且后缀是.txt

 

find /home -size +10 #查找大于10个字节的文件

find /home -size -10 #查找小于10个字节的

 

逻辑与和逻辑或

find /opt -size -10 -a -name \"*.txt\" #逻辑与

 find /opt -size -10 -or -name \"*.txt\" #逻辑或

 

find /opt -type d #查找文件类型是文件夹的

 

find /opt -type f -exec rm -rf {} \\; #查找出这个目录下的文件,全部删除,,{}是结果数据

 

which

搜索命令执行位置

在liunx中一般有两种命令,一种是所有用户可以使用,一种是只允许管理员使用,

which ls #搜索这个命令在哪里

whereis

搜索命令执行位置

比which显示的更多

whereis ls #搜索这个命令相关文件

 

 

@font-face { font-family: "autolinktags"; src: url("https://www.seowoai.com/zb_users/plugin/AutoLinkTags/style/fonts/iconfont.woff2") format("woff2"), url("https://www.seowoai.com/zb_users/plugin/AutoLinkTags/style/fonts/iconfont.woff") format("woff"), url("https://www.seowoai.com/zb_users/plugin/AutoLinkTags/style/fonts/iconfont.ttf") format("truetype"); font-weight:normal; font-style:normal; }.tagslink::after { content:"\e613"; margin:2px 0 0 0px; font-size:12px; font-family:"autolinktags"; display:inline-block; vertical-align:top; }

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

上一篇:php采集 下一篇:smarty建的mvc环境
热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表