Blogger Information
Blog 20
fans 588
comment 0
visits 16559
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Linux基础命令及解释
韦小宝的博客
Original
1112 people have browsed it

linux 必须遵守的规则

linux中一切内容都是文件形式保存

linux严格区分大小写

linux不靠扩展名来区分文件类型,它是靠权限来区分的,以下文件类型只是为了让管理员好区分

压缩包:".gz"、 ".bz2"、 ".tgz" 等

二进制软件包:".rpm"

网页文件:".html"、 ".php"

脚本文件:".sh"

配置文件:".conf"

分区规则不可改变

主分区:只能有4个

扩展分区:最多只能有一个,主分区加扩转分区一共只能有四个,不能写入数据只能包含逻辑分区

逻辑分区

对Linux来说,写入文件系统主要干了两件事

第一:把整个分区分成等大小的数据块;

第二:在分区列表中建立了一个二维表格,里面记录了每个文件的ID、修改时间、权限、文件保存位置。

硬件设备文件名

第一个斜杠表示根目录,dev表示存放的是硬件设备文件 dev后面的表示设备名

hd:代表IDE类型接口 /sd:代表SCSI和SAST类型接口

硬件   | 设备文件名
IDE硬盘 /dev/hd[a-d]
USB硬盘 /dev/sd[a-d]

分区:把大硬盘分为小的逻辑分区

格式化:写入文件系统

分区设备文件名:给每个分区定义设备文件名

挂载:给每个分区分配挂载点

1.逻辑分区一定是从5开始,1,2,3,4是留给主分区使用的,即使没有分,逻辑分区也无法使用

linux命令格式

命令 【选项】【参数】

例如

//查看 依kM形式的 root下的文件
ls -h /root

ls最长用的查看命令

ls 【选项】【文件或目录】

选择:
   -a 显示所有文件,包括隐藏文件
   -l 显示详细信息
   -d 查看目录属性
   -h 人性化显示文件大小(依k、M形式, 一般都和 -l 配合用例如 ls -lh /root)
   -i 显示爱节点

文件类型

-rw-r--r--. 1 root root 28232 9月  17 23:10 install.log
-rw-r--r-- //这个为权限一般都是十位

第一位


代表文件

d 代表目录

l 代表软链接文件

剩下九位 三位为一组

第一组为所有者 u 权限最大

第二组为所属组 g 权限第二

第三组为其他人 o 权限最小

r 读

w 写

x 执行

权限后面的

. 代表ACL权限

1 代表 引用计数

第一个 root 代表所有者

第二个 root 代表所属组

例如 28232是文件大小 单位是字节

时间是 最后一次修改的时间

install.log 为文件名

mkdir 创建目录

mkdir 【选项】【目录】

p 递归创建:一步一步创建

cd 切换目录命令

cd 【目录】

简化操作

cd ~ 进入当前用户的家目录

cd - 进入上次目录

cd .. 进入上级目录

cd . 进入当前目录

绝对路径

访问http://www.imooc.com/u/2899747/notebook 查看

pwd 显示当前所在位置

rm 删除文件命令

rm 【文件】

rm只能删除文件,要想删除文件夹需要加上选项

-r 可以删目录

-f 可以强制删除

-rf 强制删除文件夹或文件都可以

cp 复制命令

cp 【选项】【原文件或目录】【目标目录】

-r 复制目录

-p 连文件属性一起复制

-d 若原文件是链接文件,则复制链接属性

-a 相当于 -pdr

mv 剪切或改名命令

mv 【源文件或目录】【目标目录】

_ 源文件目录和目标目录在同一个文件下就是改名,不在就是剪切 mv 没有选择项_

根目录下的常用目录及解释

/ 根目录

/bin 命令保存目录(普通用户就可以读取的命令)

/boot启动目录,启动相关的文件(开机启动)

/dev 设备文件保存目录

/etc 配置文件保存目录

/home 普通用户的家目录

/lib 系统库保存目录

/mnt 系统挂载目录

/media 挂载目录

/misc 挂载目录

/root 超级用户的家目录

/tmp 临时目录

/sbin 命令保存目录(超级用户才能使用的目录)

/proc 直接写入内存的

/usr 系统软件资源目录 /usr/bin/系统命令(普通用户可用) /usr/sbin/系统命令(超级用户可用)

/var 系统相关文档内容

根目录下的bin目录和usr下的bin目录保存的命令所有人都可以执行包括普通用户

sbin目录usr下的sbin目录保存的只有root超级用户才可以执行的命令

更多目录解释可以在网上搜索linux 根目录下各文件夹的作用 或到笔记查看http://www.imooc.com/u/2899747/notebook

ln 链接命令

ls -s 【原文件】【目标文件】

-s 创建软链接 不加 -s 就是创建硬链接

软链接相当于快捷方式 ,硬链接相当于两个完全一样的文件

硬链接的特征

1.和原文件拥有同样的i节点 和存储block块,可以看做是同一个文件

2.可以通过 i 节点识别

3.不能跨分区

4.不能针对目录使用

软链接的特征

类似 Windows 快捷方式

软链接有自己的i节点 和存储block块,但是数据块中只保存原文件,文件中的文件名和 i 节点号,并没有实际的文件数据

lrwxrwxrwx l软链接 (软链接的权限都为lrwxrwxrwx )

修改任意文件,另一个都改变

删除原文件,软链接不能使用

locate 搜索命令

locate 文件名

文件搜索命令 它只在后台数据库里进行搜索

只能搜索文件名不能搜索复杂的

updatedb 强制更新数据库命令

updatedb.conf 配置文件 locate 会遵守上面配置的规则 查看updatedb.conf配置文件的配置详细http://www.imooc.com/u/2899747/notebook

whereis 搜索命令的命令

whereis 【选项】(可有可无) 命令名

它只能查系统的命令,不能查自己创建的命令

-b 只查找可执行的文件

-m 只查找帮助文件

which 搜索命令和 whereis 类似

但是which 可以找到 文件的别名 而whereis不可以

PATH环境变量

执行的命令都是通过它来找的

whereis 和 which 都是靠 变量 PATH环境变量找的

find 搜索命令

find 【搜索范围】【搜索条件】

搜索范围会比较大所以会有点慢

find没有模糊搜索,你输入的什么它就搜索什么

要想如果想要进行模糊搜索需要使用通配符进行匹配

linux中的通配符


匹配任意的内容,使用时注意加上双引号

? 匹配任意的一个字符

[] 匹配任意一个括号内的字符

find 的特殊搜索

find /root -iname install.log
不区分大小写搜索

find /root -name install.log
按照文件名查找

find /root -user root
按照所有者搜索

find /root -nouser
查找没有所有者的文件

find 查询指定时间范围内 操作过的文件

find 【目录】【操作类型】【时间范围】

时间范围

-10 代表十天内

10 代表第十天的那24小时

+10 代表十天前

操作类型

atime 文件访问时间

ctime 改变文件属性

mtime 修改文件内容

find 根据文件大小或文件 I 节点查询文件

find / -size 25k

按照文件大小搜索

-25k 小于25k的文件

25k 等于25k的文件

+25k 大于25k的文件

find / -inum 262422

按照节点搜索文件
find / -size +20k -a -size -50k -exec ls -lh {} \;
查找跟目录下 大于20k小于50k的文件,并显示详细信息

-a and 逻辑与,两个条件都满足

-o or 逻辑或,两个条件满足一个即可

-exec 【命令】{} ; 对搜索结果执行操作

last 查询当前登陆和过去登陆的用户信息

last last 命令默认是读取/var/log/wtmp文件数据

命令输出

用户名

登陆终端

登陆ip

登陆时间

退出时间(在线时间)

lastlog 查询所有用户最后一次登陆时间

lastlog lastlog 命令默认是读取/var/log/lastlog

命令输出

用户名

登陆终端

登陆ip

最后一次登陆时间

Shell是什么?

Shell 是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面 系统级程序,用户可以用Shell来启动、挂起、停止 甚至是编写一些程序。

Shell 还是一个功能相当强大的编程语音、易编写、易调试、灵活性较强。Shell 是解释 执行的脚本语言,在Shell中可以直接调用linux系统命令。

Shell 也就相当于内核和用户之间的翻译关,内核只能读懂二进制的命令,返回的也是二进制 的结果,而shell会把二进制转成用户可以看的懂的abc。shell可对内核返回结果翻译,还可对用户 输入命令翻译。

更多关于shell的知识网上可以看

echo 输出命令

echo【选项】【输出内容】

选项

-e:支持反斜线控制的字符转换

输出内容可加反斜线转换字符

\a 输出警告音

\b 退格键,也就是向左删除键

\n 换行符

\r 回车键

\t 制表符,也就是tab键

\v 垂直制表符

\0nnn 按照八进制ASCII码表输出字符,其中0为数字零,nnn是三位八进制数

\xhh 按照十六进制ASCII码表输出字符,其中hh是两位十六进制数 ASCII码表http://www.asciima.com/

例如

echo -e "这是一个\a例例\b子\n,一个用了反\r斜线\v转换字符的例子"

echo -e 还可以输出带颜色的内容

echo -e "\e[1;31m 这里是内容 \e[0m"

\e[1; 为颜色开始符

\e[0m 为颜色结束符

输出颜色

30m = 黑色

31m = 红色

32m = 绿色

33m = ***

34m = 蓝色

35m = 洋红

36m = 青色

37m = 白色

例如

echo -e "\e[1;33m 这里就是带色的内容了 \e[0m"

写十六进制的字符

写十六进制的字符时前要加\x 十六进制字符

例如

echo -e "\x68\x65"
按照十六进制ASCII码也同样可以输出

这里最重要的,写脚本

vim【脚本名】

脚本开头要写 #!/bin/bash 声明脚本的运行位置

下面就可以大胆的写内容了

一个脚本写完,要赋予执行权限

然后就可以执行脚本了

例如
写一个脚本hello.sh
vim hello.sh

这里是脚本内容

#!/bin/bash

echo 1;
按ESC后
:wq 保存退出

赋予执行权限
chmod 755 hello.sh

755解析
7是拥有者的权限,
5是所属组的权限
5是其他的权限
r读(4) w写(2) x执行(1)

运行的方式有两种
1. ./hello.sh

2. bash hello.sh

alias 查看和设定别名

alias 查看系统中的所有的别名

alias 别名='原别名' 设定命令别名

unalias 别名 删除别名

这样设置的别名在重启后就会自动失效了

设置永久生效的别名 和 删除别名

vi ~/.bashrc 把要设置的别名写入环境变量配置文件即可永久生效,除非删除

source .bashrc 从新运行一下这个文件,让刚写入的别名立即生效

查看命令生效顺序http://www.imooc.com/u/2899747/notebook

查看历史命令

history【选项】【历史命令保存文件】

选项

-c:清空历史命令

-w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history

修改历史命令的条数

历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改

标准输入输出

输出重定向

把执行命令的结果写入到文件里

正确和错误输出同时保存写入文件

输入重定向

wc【选项】【文件名】

选项

-c 统计字节数

-w 统计单词数

-l 统计行数

例如

wc //wc后面不跟选项等于全选 不跟文件名等于统计下面写的,

abc
abc abc
aaa

行数 3 单词数 4 字节数 12

wc < 【文件名】

统计文件信息

输入重定向并不常用,了解即可

多命令顺序执行

管道符

【命令1】|【命令2】

命令1的正确输出结果作为命令2的操作对象

如果前面的命令发生错误,后面的操作也不能执行

例如

ls -l/etc | more
ls 的结果交给more分页显示

more 分页查看文件内容

more【文件名】 分页查看文件内容

netstat -an 查看linux系统中所有的连接

netstat -an 上面一半是本地网络端口的访问情况 网络端口里有一个ESTABLISHED就代表有一个用户在链接这个服务器 下面一半是本地网络程序的访问情况网络程序并不常用

例如

netstat -an | grep ESTABLISHED
查看linux系统中所有的连接 grep 查询文件中含有 ESTABLISHED 行 有几行就代表几个用户在链接服务器

netstat -an | grep ESTABLISHED | wc -l
wc -l 统计行数
结果显示1就代表有一个用户在链接服务器

详细的看http://www.imooc.com/u/2899747/notebook

通配符的扩展

bash 中的其他特殊符号级作用


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post