Linux基本
Linux文件目录说明
- bin:存放系统中常用的命令
- etc:存放系统的配置文件(*.cfg *.conf)
- home:用户的主目录,每个用户都有一个自己的目录
- lib:存放系统中的库文件
- var:主要存放经常变化的日志文件
- tmp:存放临时文件
/ 是Linux文件系统的根目录,所有文件都在里面。
Linux一切皆文件,目录也是文件。
ASCII规则
ASCII:美国信息标准交换代码
字符->十进制数->二进制数->被CPU,内存所识别
A -> 65 ->1000001 -> 被CPU,内存所识别
A ->65 a->97 0->48
如果进行字符的比较,那么 a>A
文件命名规则:
- 文件名不区分大小写
- 最多可以为255个字符
- 除了正斜杠 / 外,都是有效字符
Linux基本操作命令
Man 查看命令的帮助信息
命令大全 http://man.linuxde.net/ 中文解释
格式:man 命令名称 man man:查看man的帮助信息 man ls:查看 ls 的命令的帮助信息 支持上下翻页 Q q退出
切换目录:cd(change directory)
如果当前目录是 / 根目录,那么无法再 cd ..
cd ~:回到当前用户的home目录。root用户是 /root,普通用户是 /home/用户名
cd ..:返回上一级目录cd ~:用户的家目录cd .:进入当前目录cd ../mnt:先返回上一级,再进入它的 mnt 子目录cd ./hello:进入当前目录的 hello 目录
绝对路径和相对路径
- 绝对路径(完整路径):以/(根目录)开头,递归每级目录直到目标路径,不受当前所在目录影响
- 相对路径:以当前目录为起点,到达目录路径,受当前目录影响(开头不是/的路径就是相对路径)
ps:当前位于/home目录,需要进入/mnt
- cd /mnt:绝对路径
- cd ../mnt:相对路径
Linux命令的语法结构
命令 -选项 参数
ls:显示当前目录下的所有内容
ls --help:查看 ls 的帮助信息 ls -a:显示所有的文件(.和..开头的隐藏文件也可以查看到)ls -l:显示文件详细信息(=== ll) D 开头的为“目录” - 开头的是“文件” L 开头的为“链接文件”ls -R:递归显示根目录下的所有文件
file 文件名:查看文件类型
file a.txt
pwd: 当前所在的目录
clear:清屏
touch命令
touch:创建一个空的文件或更新文件的时间。
touch c.txt:创建一个文件touch -m a.txt:修改 a.txt 的时间
rm命令(remove)
rm:删除文件,不能直接删除文件夹(目录)
删除文件或文件夹:rm -rf 文件/文件夹
rm a.txt:询问是否删除文件,y->yes n->norm -f c.txt:直接删除文件,不询问rm -rf hello/:直接删除文件或目录,不询问 -f:不提示,强制删除 -r:强制递归删除目录rm -rf *:删除当前目录下的所有文件rm -rf /(不要随便使用,传说中的删服务器,删库)
mkdir命令(make directory)
mkdir:创建目录
mkdir hello:在当前目录下,创建一个hello目录mkdir /home/world:使用绝对路径,创建mkdir -pv a/b/c/d:递归创建多层目录,并显示过程 -p:递归创建多层目录 -v:显示过程
cp命令
cp:复制文件
cp a.txt b.txt:复制 a.txt 的内容,到 b.txt 中。(复制并粘贴) cp -v a.txt c.txt:复制并显示过程 cp -r hello/ world/:递归复制 hello 目录下的所有内容,到world目录中
mv命令
mv:移动文件(重命名)
如果第二个参数不存在,就是重命名。如果存在,且必须是目录,就是移动。
mv a.txt 66.txt:将 a.txt 重命名为 66.txtmv hello/ hello222/:重命名目录mv b.txt world/:将 b.txt 移动到 world 目录中mv hello222/ world/:将 hello222/ 移动到 world 目录中mv -f b.txt world/:如果 world 中已经存在 b.txt,不会询问,直接覆盖。
支持的通配符
* 匹配0个或多个字符 cp *.txt abc
? 匹配一个任意的字符 cp ?.png abc
[0-9] 匹配列表中的任意字符 cp 1[1-9]5.jpg abc
[abc] 匹配列表中任意字符 cp 2[a-z].jpg abc
[^abc] 匹配列表以外的任意字符 cp 2[^abc].jpg abc
日期时间
data:查看、设置当前系统日期时间
data -s 20000101:把系统时间修改为 2000 年 01 月 01 日 00:00:00data -s 15:13:13:把系统时间修改为 15:13:13,日期不变data -s "20081010 10:10:10":把系统时间修改为 2008 年 10 月 10 日 10:10:10 clock:显示硬件时钟时间clock -s:使用硬件时间修改虚拟机软件时间
日历(calendar)
cal:显示当月日历cal 8 2008:显示2008年8月的日历cal -y:显示当年的日历cal -y 2008:显示2008年的日历cal -j:显示本月每一天是本年中的第几天
uptime:查看系统运行时间
history命令
history:查看命令执行的历史记录!!:执行最近的历史命令!100:执行历史记录中第100条命令
vi编辑器
编辑文件操作:vi a.txt -> 按i开始输入 -> 按ESC退出输入 -> :wq 保存并退出
vi编辑器工作模式有三种:命令模式,输入模式【编辑模式】,末行模式。
命令模式:可以完成对文本的操作命令
任何情况下按 esc 返回到命令模式 移动光标 j 向下移动 k 向上移动 l 向右移动 h 向左 6j 从光标所在位置向下移动6行 gg 移动到文件首行首列 G 移动到文件尾行尾列 3G 移动到第3行 复制粘贴 yy 复制光标所在行 p 光标所在行下面进行粘贴 3yy 从光标向下复制3行 3p 光标所在位置下面进行粘贴3次 删除 dd 剪切光标所在行 3dd 光标所在行向下剪切3行 x 剪切光标所在字符 替换 r 替换光标所在当前字符 R 连续替换光标所在当前字符,直到输入 esc 撤销 u 撤销 Ctrl + r 恢复上一步撤销(反撤销)
输入模式:可以完成文本文档的编辑操作
进入插入模式(编辑模式) i 在光标前插入(insert) a 在光标后追加(append) o 下一行新建一行 O 上一行新建一行 s 删除光标所在的字符并开始插入 搜索内容 /搜索的字符串 从光标位置向下搜索 n 下一个 N 上一个 ?搜索的字符串 从光标位置向上搜索
末行模式
ex模式(末行模式) :set nu 显示行号 :set nonu 不显示行号 :w 保存 :q 退出 :wq 保存并退出 :q! 强制退出 :n 移动光标到第n行 :s 字符串替换 :s/str1/str2/ 用str2替换行中首次出现的str1 :s/str1/str2/g 用str2替换行中所有出现的str1 :.,$ s/str1/str2/ 用str2替换从光标位置开始到末尾第一次出现的str1 :.,$ s/str1/str2/g 用str2替换从光标位置开始到末尾所有出现的str1 :n,$ s/str1/str2/ 替换第n行开始到最后一行中每一行第一个str1为str2 :n,$ s/str1/str2/g 替换第n行开始到最后一行中每一行所有的str1为str2 n 数字,表示行号 ., 代表从当前行到最后一行 $ 分隔符 g 放在命令的末尾,表示对搜索字符串的每次出现进行替换
:s/o/6 :用6替换光标所在行第一次出现的o:s/o/6/g :用6替换光标所在行所有的o(g:global):.,$ s/o/6 :从光标所在行,到最后一行。每行都只替换第一次出现的o:.,$ s/o/6/g :从光标所在行,到最后一行。替换所有的o:4,$ s/o/6/g :从第4行,到最后一行。替换所有的o
cat查看
cat a.txt:查看 a.txt 的文件内容cat -n a.txt:显示a.txt的内容,并显示行号
more查看
more:全屏幕的形式按页显示文件内容 空格键:向下翻一页 回车键:向下翻一行 b:向上翻一屏 q:退出阅读
less查看
less:全屏幕的方式显示文件内容 空格键:向下翻一页 回车键:向下翻一行 q:退出阅读 b:向上翻一屏 -N:输出行号 方向键:上下左右阅读
head查看
head a.txt:显示a.txt文件的前10行head -n 5 a.txt:显示文件前5行
tail查看
tail a.txt:显示文件末尾10行tail -n 5 a.txt:显示文件的末尾5行tail -n +5 a.txt:显示文件的第5行到最末尾 ping www.baidu.com > ping.log & 把 ping 出来的内容放到 ping.log,并且持续更新(&)
tail -f ping.log:如果1.log在持续更新,那么可以使用tail -f 查看
-f 持续追踪显示文件更新(查看日志)
find:查找文件
find . -name "*.log":在当前目录下查找所有的.log结尾的文件find / -name "*root*":在根目录下查找所有包含 root 的文件或目录find . -name "*.log" -exec ls -l {} \; :在当前目录下查找所有的.log 结尾的文件并显示文件详细信息
压缩
gzip:压缩文件,得到 gz 格式压缩包 gzip 1.log:压缩指定文件 gzip *:压缩当前目录下的所有文件 gzip -d *:解压当前目录下的所有的 gz 压缩包
tar:打包,归档文件 -c:新建备份文件 -v:显示详细过程 -f:指定备份文件 -z:调用gzip压缩/解压缩 -x:从备份中还原文件 -C 目录:指定目录解压缩 打包并压缩: tar -zcvf 1.tar.gz *:将当前目录下的所有文件,打包并压缩成 1.tar.gz tar -zcvf 2.tar.gz *.log:将当前目录下,后缀名为log的文件,打包并压缩成 2.tar.gz解压缩: tar -zxvf 2.tar.gz:将 2.tar.gz 压缩包的内容,解压到当前目录 tar -zxvf 2.tar.gz -C hello/:解压 2.tar.gz 的内容到指定目录hello中,hello已存在
wc 统计文件信息
wc 1.log行数 单词数 字节数 文件名153 1375 11953 1.logwc -l 1.log:line,统计行数wc -w 1.log:word,统计单词数wc -c 1.log:char,统计字节数(1个字符就是一个字节)
du:查看文件或目录大小
du -h:查看当前目录大小dh -h 1.log:查看指定文件大小
硬盘:
ps:查看进程
kill 进程号:杀死进程