Linux语法
命令 [选项] 参数
注意:[]内容是对命令的扩张
1、命令中单词之间空格隔开
2、单行命令最多256个字符
3、大小写区分
clear 清屏
pwd 查看当前目录
cd 切换目录
.表示当前目录
..表示上级目录
cd 目录名(目录的绝对位置)
cd /opt 切换到根路径下的opt目录下
cd ~ 切换到家目录下
ls 列出文件及目录
ls -a 文件名
ls -a 查看当前路径下的所有目录及文件,包含隐藏文件
ls -a /opt 查看根路径下的opt目录下的所有目录及文件,包含隐藏文件
ls -R 文件名 递归显示某个目录下的子目录、子文件以及子目录的子目录、子目录的子文件等等
ls -t 文件名 表示对某个目录下的子目录以及子文件基于时间排序
ls -l 列出文件的详细情况
e.g:ls -alR
d 表示目录
- 表示文件
l 表示快捷方式文件
file 文件名 表示文件属于什么详细类型
ls -F 显示文件的类型
/表示目录
*表示可执行文件
什么都没有,普通的文件
文件的权限
r 读权限
w 写权限
x 可执行
- 没有权限
u 拥有者
g 同组人
o 其他人
a 所有人
注意:只能在新的Linux或Unix系统中使用,较早的版本不支持
修改权限的语法
chmod mode filename
mode (who cp permissions)
cp符号
+ 添加权限
- 去掉权限
= 覆盖原来的权限
chmod u+x test.java 表示给test.java的拥有者添加执行权限
chmod u-rw,go=rwx test.java 表示给test.java的拥有者去掉读写权限,同组人和其他人添加读写执行权限
老的Linux和Unix只能通过数字赋权
chmod -R 777 test 给指定目录及其子目录、子文件递归赋权
注意:有时命令权限不允许
1、切换到超级用户下执行
2、命令前加sudo表示当前命令以管理员身份执行
权限 二进制 数字
r-- 100 4
-w- 010 2
--x 001 1
touch 文件名
1、创建一个新的文件(前提:文件不存在)
2、更改文件的修改时间(前提:文件存在)
mkdir 文件名 创建目录
mkdir test 在当前目录下创建test目录
mkdir -p 文件目录 级联创建目录
mkdir -p hello/word/test
-p 表示目录不存在逐级创建
cal 查看当前的日历
cal 年份 查看某一年的日历
cal 月份 年份 查看某一年某一月的日历
重定向:
> 更改命令结果输出的目的地
> 覆盖内容
>> 追加内容
< 更改标准输入位置(默认位置为键盘)
cp复制
cp [-i] 源文件或目录 目标文件或目录
文件到文件 cp a.txt c.txt
1、如果c.txt不存在相当于复制粘贴
2、如果c.txt存在覆盖目标文件
注意:-i表示如果目标存在提示需不需要覆盖,默认覆盖。如果目标文件不存在直接复制粘贴
文件到目录 cp a.txt [b.txt c.txt] test
目录到目录 cp -r test1 test2
源目录和目标目录有同名的文件则覆盖同名文件
没有则合并
注意:-r不能省略
mv
文件到文件 mv a.txt d.txt
如果目标文件不存在 重命名源文件;
如果存在,覆盖目标文件内容删除源文件
文件到目录
如果目标目录中不存在同名文件,剪切复制
如果存在相同文件,覆盖内容
rm 删除
rm [-i] c.txt 删除一个文件
rm [-i] a.txt b.txt 同时删除多个文件
rm 目录名/* 删除某个目录下的所有文件
rm -r test 删除test目录,目录中有没有文件不影响
rmdir test1 删除test1目录,要求test1必须是空目录
man 帮助命令,用于查看命令手册
man 命令
man ls 显示内容较多
空格:每次翻一个屏幕的内容
回车:向下翻一行
b:回退一屏
f:向前翻一屏
q:退出帮助手册
/String 搜索某个内容,String表示要搜索的内容,一般和n连用
n: 查找下一个内容
telnet ip 远程登陆,exit退出
ifconfig Linux查看网络配置信息
ipconfig Windows查看网络配置信息
ping ip 查看网络是否通畅
元字符:对命令功能的扩展
键盘能敲出的具有特殊含义的字符,不包含.和_
* 表示零个或者多个字符
ls d* 列出以d开头的所有文件及目录中的子目录、子文件
? 表示单个字符
ls d?
; 命令按照顺序执行
cd;ls先执行cd再执行ls
| 管道
把管道前面执行命令的结果交给管道后面的命令执行
vi编辑器
vi filename 文件不存在,创建这个名字;存在,编辑文件
vi 后面不跟名字 在内存中创建一个虚拟文件,保存时才会变成磁盘上存储的文件
不建议使用,有些Linux没有保存,不提示,直接退出
命令模式:刚进入vi所处的模式,该模式可以用简单的命令,一般情况下不会超过三个字符
输入模式:可以在文件里面写内容
底行模式:可以输入长命令
命令模式下的方向控制
方向键
H(左)J(下)K(上)L(右)
命令模式进入输入模式
i 在光标停留位置前面插入内容
a 在光标停留位置后面插入内容
o 在光标所在行下插入一空行
输入模式进入命令模式
Esc键
命令模式和底行模式的转换
: / ?
底行模式和命令模式的转换
Enter键
命令模式下的命令
x 删除一个字符
dw 删除一个单词(系统认为光标到后面空格的位置是一个词,删除时光标需要停留在单词开始位置)
3dw 删除三个词
dd 删除当前行
5dd 删除五行
r 替换一个字符
cw 替换一个单词(删除当前单词并进入输入模式)
cc 替换一行(删除一行并进入输入模式)
C 替换从光标至行尾(删除光标到行尾的内容并进入输入模式)
yw 拷贝单词
yy(或Y) 拷贝行
p 当前行下粘贴
~ 大小写转换
J 当前行和下一行连成一行
u 回退命令
5G 光标跳到第五行
n 查找下一个
底行模式下的命令
:5,10d 删除5到十行
:set number(:set nu) 设置行号
:1,2co3 拷贝1,2行在3行之后
:4,5m6 移动4,5行在6行之后
:w 保存前面写的内容
:q 不保存直接退出vi编辑器
:wq(或ZZ或:x) 保存并退出
:w newfile 存成新文件
:q! 不保存并强制退出
:数字 直接跳到某一行
/String 光标位置向下找
?String 光标位置向上找
:r file2 在光标位置插入另一个文件
:1,$s/旧串/新串/g(等价:%s/旧串/新串/g) 1表示第一行 $表示行末 g表示全文替换