文章目录
linux常用命令(菜鸟随笔)
服务器操作系统基本使用linux,android移动设备底层是linux,路由器、交换机等底层也是linux,
linux 操作系统主流发行版本及特点
Linux 发行版本
(是由于互联网、软件公司由定制的版本,一个内核版本可能对应多个发型版本,发行版本开源而内核版本源码一定程度不开源)
主流发型版本有如下三种:
1)RedHat(最适合嵌入式设备)。
2)CentOS(对服务器性能做了一定程度优化,性能较高教稳定)
3)Ubuntu(桌面应用为主,桌面应用汇占用大量系统资源不适合作为服务器操作系统,可作为开发环境)
一、Linux系统目录
有时会提示缺少命令
ls /sbin/命令 查看是否存在 如果不存在 yum install 命令名 提示没有安装包 可以yum search 命令名 来寻找相关包 yum install 包名 确定安装即可。
1. /
根目录
2./root
管理员用户home,所有命令行操作由root目录开始
###3 . /etc
配置文件存放目录
4. /usr
不要看成user。。用于存放应用程序。
子目录:
/bin(存放应用程序)
/share(存放共享数据 其下/doc 存放系统说明文件,/man 存放程序文件说明文件)
/lib(存放函数库文件,不能直接运行但是却是许多程序运行必须的文件)
/local(存放升级包)
二、linux 常用命令
参数只列出一小部分,用到现看 --help方便多了
1.磁盘管理
1)cd
切换目录
常用:
cd ~ 到当前用户目录
cd / 到跟目录
cd - 上次访问目录(两个目录之间来回切换)
cd ../ 上一层目录
cd /目录名 切换到根目录在进入目录(绝对定位)
cd 目录名 切换到当前目录下的指定目录名的子目录(相对定位)
2)ls
浏览目录(列出目录下内容)
ls 不加任何参数,直接显示列表下的子文件夹和文件信息(问价名),不包括隐藏如:. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc 测试文件.txt
ls -l 显示详细信息(简写ll),例如:--rw-------. 1 root root 1433 12月 18 08:59 anaconda-ks.cfg
(详细信息介绍:--rw------- 如果是-开头 那么文件是普通文件,l开头,文件是链接文件,d开头代表目录)
ll -h 友好显示详细信息,文件大小G或K方式 例如:-rw-------. 1 root root 1.4K 12月 18 08:59 anaconda-ks.cfg 中使用k作为单位
ls -t 修改时间排序
ls -r 倒序排序
ls -s 按大小排序
ls 参数间可连写实现多需求查询例如 ls -lht 查询详细信息、友好显示、按修改时间排序
3) rmdir/mkdir
mkdir创建目录:
mkdir 文件夹名 在当前目录下创建指定目录。如果文件夹已经存在会提示创建失败,文件夹已经存在
mkdir D1/D2 在当前D1目录下创建D2,如果D1不存在会提示不存在那个目录(D1)。
mkdir D1/D2 -p 如果D1不存在会先生成D1父目录。
rmdir删除目录:
只能删除空目录,如果不是空目录就会删除失败。
4)pwd
显示当前目录绝对路径
2.查看文件内容
主要用于查看日志文件和配置文件
几种语法都差不多,不多写了
1)cat/tac
第一行/最后一行开始,显示所有记录,主要用于小文件查看。
快速显示,无法查看大量记录文件,只能看到后面一部分
语法:cat 文件名 参数 less more 都不能用 这种格式/ cat 参数 文件名
参数 -n 显示行号
2)more
分页显示。
浏览操作:Enter(回车查看下一行),空格(下一页)/Ctrl+F,B(上一页)/Ctrl+B,q(结束查看)
3)less
也是分页显示(用的时候建议用less)
参数:-mN 分页显示显示行号显示当前百分比
4)tail/head
只显示末尾/开头几行
参数 -数字 显示指定条数记录
3.文件操作
1)cp
复制文件或目录
cp 参数 需要复制文件路径 目标目录 (复制文件到指定目录)
cp 参数 需要复制文件路径 目标路径+文件名 (复制并改名)
cp 参数 需要复制目录路径 目标目录 (将目录复制到指定位置,-r将文件夹中的内容一并复制过去)
参数
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
2)rm
移动文件或目录
mv 需要移动文件位置 目标目录 将问价移动到指定目录
通过mv也能实现改名(移动到当前目录,修改文件名)
和cp 差不多。。过
参数:
-f, --force 覆盖前不询问
-i, --interactive 覆盖前询问
-n, --no-clobber 不覆盖已存在文件
如果定义了-i、-f、-n 中的多个,仅最后一个生效。、
3)rm
删除文件或目录
rm 文件位置:删除文件。将会提示是否删除。加参数-f 强制不询问
rm 目录位置:删除目录。想删除空目录需要加-r删除所有内容无论是否为空。同理-rf 强制删除目录。
可通过* 匹配所有内容
4.文件查询
1)find
常用:
find 目录 -name '文件或目录名'--可用通配符
5.文本编辑
1)vim
类似记事本
vim 文件名 进入一般模式 只能单行复制和删除、
通过键入 iao都能进入插入模式中
插入模式中可以编辑文本
按ESC回到一般模式
:进入底行模式
强制退出:q! 保存退出:w!
6.grep 文本搜索
简单用法:
grep 关键字 查询文件(默认返回复合匹配的行)
grep经常和管道命令连用
例如查询目录下内容 再对查找结果进行相关的查找工作。
ll | grep 关键字(将ll返回的结果作为grep的查找集合)
管道(|)用来连接两个命令。
下面是grep的help信息
–help
用法: grep [选项]… PATTERN [FILE]…
在个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i ‘hello world’ menu.h main.c
正则表达式选择与解释:
参数 | 缩写对应 | 解释 |
---|---|---|
-E | –extended-regexp | 模式是一个可扩展的正则表达式(缩写为 ERE) |
-F | –fixed-strings | 模式是一组由断行符分隔的定长字符串。 |
-G | –basic-regexp | 模式是一个基本正则表达式(缩写为 BRE) |
-P | –perl-regexp 模式 是一个 Perl 正则表达式 | |
-e | –regexp=PATTERN | 用 模式 来进行匹配操作 |
-f | –file=FILE | 从 FILE 中取得 模式 |
-i | –ignore-case | 忽略大小写(常用) |
-w | –word-regexp | 强制 模式 仅完全匹配字词 |
-x | –line-regexp | 强制 模式 仅完全匹配一行 |
-z | –null-data | 一个 0 字节的数据行,但不是空行 |
杂项: | ||
-s | –no-messages | 抑制错误消息,不报错 |
-v | –invert-match | 选择不匹配的行 |
-V | –version | 显示版本信息并退出 |
–help | 显示帮助并退出 | |
输出控制: | ||
-m | –max-count=NUM | NUM 次匹配后停止 |
-b | –byte-offset | 输出的同时打印字节偏移 |
-n | –line-number | 输出的同时打印行号 |
–line-buffered | 每行输出清空 | |
-H | –with-filename | 为每一匹配项打印文件名 |
-h | –no-filename | 输出时不显示文件名前缀 |
–label=LABEL | 将LABEL 作为标准输入文件名前缀 | |
-o | –only-matching | 仅显示线型匹配模式的一部分 |
-q | –quiet, --silent | 抑制所有正常输出 |
–binary-files=TYPE | 假设二进制文件是TYPE;TYPE 是 ‘binary’, ‘text’, or ‘without-match’//二进制 文本 不匹配 | |
-a | –text | 二进制文件看做文本 |
-I | 相当于 二进制文件是不匹配 | |
-d | –directories=ACTION | 如何读取目录 行为选择 读取 递归 还是跳过 |
-D | –devices=ACTION | 如何读取目录 行为选择 读取还是跳过 |
-r | –recursive | 相当于目录 = 递归 |
-R | –dereference-recursive | 同样,但遵循所有符号链接 |
–include=FILE_PATTERN | 仅搜索与文件模式匹配的文件 | |
–exclude=FILE_PATTERN | 跳过匹配文件模式的文件和目录 | |
–exclude-from=FILE | 跳过匹配文件中任何文件模式的文件 | |
–exclude-dir=PATTERN | 将跳过匹配模式的目录。 | |
-L | –files-without-match | 仅打印不包含匹配项的文件名 |
-l | –files-with-matches | 仅打印包含匹配项的文件名 |
-c | –count | 仅打印每个文件的匹配行数 |
-T | –initial-tab | 使标签对齐(如果需要) |
-Z | –null | print 0 byte after file name |
文件控制: | ||
-B | –before-context=NUM | 打印以文本起始的NUM 行 |
-A | –after-context=NUM | 打印以文本结尾的NUM 行 |
-C | –context=NUM | 打印输出文本NUM 行 |
-NUM | 与context = num相同 | |
–group-separator=SEP | 使用SEP作为组分隔符 | |
–no-group-separator | 使用空字符串作为组分隔符 | |
–color[=WHEN], | ||
–colour[=WHEN] | 使用标记突出显示匹配的字符串; WHEN是’always’,'never’或’auto | |
-U | –binary | 不要在EOL(MSDOS / Windows)中删除CR字符 |
-u | –unix-byte-offsets | 报告偏移,好像CR不在那里(MSDOS / Windows) |
7.压缩和解压
linux 压缩文件有两种 .tar 文件打包,不会进行压缩 ,.targz 打包并压缩
1)tar压缩
对文件进行压缩和解压
tar -zcrf 压缩包(包名).targz * =压缩当前目录下所有文件 到压缩包.targz
zcrf对应:压缩大小 建立压缩文件 显示进度显示压缩文件 压缩文件名
2)tar解压
对文件进行解压
tar zxrf 压缩文件名 解压到当前目录
tar zxrf 压缩文件名 -C 指定解压路径 解压压缩文件到指定目录
8.系统命令
1)进程查询
ps -ef
查询到进程信息 UID(所属用户) PID(随机分配的进程号) PPID C STIME TTY TIME CMD(表名进程对应程序)
2) 结束进程
kill -9 (pid号)
3)系统重启
reboot
4)关机命令
halt
8.网络配置命令
ifconfig:
ping Ctrl+C 关闭
。。。不说了
9.Other(setup、文件权限)
setup
这里CRT的配色方案可能有问题,无法显示移动选中,
DHCP 【*】 是动态分配ip地址 在该行按下空格 变成【 】可以自己设置ip
如果机器没有安装setup 命令工具
参考https://blog.csdn.net/lamp_yang_3533/article/details/53274868
yum -y install setuptool
安装setup命令工具
yum -y install ntsysv
安装setup工具配套的系统服务组件
yum -y install system-config-securitylevel-tui
安装setup工具配套的防火墙配置组件
yum -y install system-config-network-tui
安装setup工具配套的网络配置组件
yum -y install authconfig-gtk
安装setup工具配套的验证配置组件
yum -y install system-config-keyboard
安装setup工具配套的键盘配置组件
权限
-rwxrw-r--:rw读写权限 x是执行权限
按位划分:
1.文件类型 d - l。
2-4.所属用户权限。
5-7.所属组用户权限。
8-10.其他用户权限
更改权限
chmod 权限设置 需要修改权限的目标
所属用户(u)
所属用户组(g)
其他用户(o)
使用如:chmod u=rw- text.txt
将text所属用户权限设置为读写。