Linux的基础命令
Posted 司机刹一脚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的基础命令相关的知识,希望对你有一定的参考价值。
1.linux的目录结构
bin:(binaries)存放二进制可执行文件
sbin(super user binaries)存放二进制可执行文件
etc:(etcetera)存放系统配置文件
usr(unix shared resources)用于存放共享的系统资源
home存放用户文件的根目录
root超级用户目录
dev(devices)存放设备文件
lib(library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt(mount)系统管理员安装临时文件系统的安装点
boot存放用于系统引导时使用的各种文件
tmp(temporary)用于存放各种临时文件
var(variable)用于存放运行时需要改变数据的文件
2.切换目录命令cd
cd test 切换到test目录
cd .. 切换到上级目录
cd / 切换到系统跟目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录
3.目录的操作命令(增删改查)
增加目录:
mkdir 目录名称
mkdir test 就是在当前目录下产生一个test目录
查看目录:
ls
ls:就是在当前目录下的所有目录和文件
ls -a:可以看到该目录下的所有文件和目录,包括隐藏的
ls -l:可以缩写成ll,可以看到该目录下的文件的详细信息
查询目录:
find 目录 参数
find/root -name ‘*test*‘:查找/root下的与test相关的目录文件
修改目录名称:
mv目录名称 新目录名称
mv oldTest newTest:在当前目录下将oldTest目录的名字改为newTest
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包进行重命名操作
移动目录的位置(剪切):
mv 目录名称 目录的新位置
mv newTest /usr:将当前目录下的newTest文件剪切到usr目录下
拷贝目录:
cp -r 目录名称 目录拷贝的目标位置(r代表递归拷贝)
cp -r /usr/newTest /test:将usr下的newTest文件拷贝到test目录下
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包.拷贝文件和压缩包时不用写-r递归
删除目录:
rm -rf 目录
rm -rf newTest/:删除当前目录下的newTest文件和它里面的所有文件,并且 不需要询问
4.文件的操作命令
文件的创建
touch 文件名称(空文件)
touch a.txt:在当前目录下创建一个名为a.txt的空文件
文件的查看
cat/more/less/tail 文件
使用cat只能显示最后一屏的内容
使用more可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
使用less可以使用键盘上的PgUp和PgDn向上和向下翻页,q结束查看
使用tail -f 文件 可以对某个文件进行动态监控,就像tomcat的日志文件,会随着程序的运行,日志会变化.
修改文件的内容
vim 文件
vim的启动命令:vim filename 打开vim并创建一个名为filename的文件
文件命令
打开单个文件 vim file
同时打开多个文件:vim file1,file2......
在vim窗口打开一个新文件:open file
在新窗口中打开文件:split file
切换到下一个文件:bn
切换到上一个文件:bp
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来:args
打开远程文件,比如ftp或者share folder
:e ftp://192.168.10.76/abc.txt
:e \\qadrive\test\1.txt
vim的模式
正常模式(按ESC+[键进入)左下角显示文件或为空
插入模式(按i键进入)左下角显示--INSERT--
可视模式:左下角显示--VISUAL--
vim的插入命令
i:在当前位置前插入
I:在当前行首插入
a:在当前位置后插入
A:在当前行尾插入
o:在当前行之后插入
O:在当前行之前插入
vim的查找命令
/text 查找text,按n键查找下一个,按N键查找前一个
?text 查找text,反向查找,按n键查找下一个,按N键查找前一个
:set ignorecase 忽略大小写的查找
:set noignorecase不忽略大小写的查找
:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配
:set nohlsearch关闭高亮搜索显示
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或者#键
即可以该单词进行搜索,相当于/搜索,而#命令相当于?搜索
vim的替换命令
ra 将当前字符替换为a,当前字符即光标所在字符
s/old/new/ 用old替换new,替换当前行的第一个匹配
s/old/new/g 用old替换new,替换当前行的所有匹配
%s/old/new/ 用old替换new,替换所有行的第一个匹配
%s/old/new/g 用old替换new,替换整个文件的所有匹配
ddp 交换光标所在行和其下紧邻的一行
vim的移动命令
h左移一个字符
l右移一个字符(一般用w代替)
k上移一个字符
j下移一个字符
以上四个命令可以配合数字使用,比如20j就是向下移动20行
w向前移动一个单词,如果已到行尾,则转至下一行行首,此命令块,可以代替l命令
b向后移动一个单词,3b向后移动三个单词
^移动到本行第一个非空白字符上
0(数字0)移动到本行第一个字符上
$移动到行尾
gg移动到文件头
G移动到文件尾
f(find)命令也可以用于移动,fx将找到光标后第一个x的字符,3fd将找到第三个为d的字符
F,同f,反向查找
:10+回车:就是跳转到10行,10G跳转到10行
Ctrl + e向下滚动一行
Ctrl + y向上滚动一行
Ctrl + d向下滚动半屏
Ctrl + u向上滚动半屏
Ctrl + f向下滚动一屏
Ctrl + b向上滚动一屏
vim的撤销和重做
u(Undo)撤销
U撤销整行的操作
Ctrl + r重做
vim的删除命令
x 删除当前行
3x 删除当前光标开始向后三个字符
X删除当前字符的前一个字符
dl删除当前字符
dh删除当前一个字符
dd删除当前行
dj删除上一行
dk删除下一行
10d删除当前行开始的10行
D删除当前字符至行尾
d$删除当前字符之后的所有字符(本行)
kdgg删除当前行之前所有行(不包括当前行)
jdG(jd+shift+g)删除当前行之后的所有行
:1,10d:删除1-10行
:11,$d:删除11行以及后面的所有行
:1,$d:删除所有行
J:合并两行
vim的拷贝和粘贴
yy拷贝当前行
nyy拷贝当前行开始的n行
p在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行进行粘贴
P在当前行前粘贴
:1,10 co 20 将1-10行插入到第20行
:1,$ co $将整个文件复制一份并添加到末尾
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
vim的剪切命令
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
ndd剪切当前行之后的n行,利用p命令可以对剪切的内容进行粘贴
:1,10d将1-10行剪切,利用p命令可将剪切后的内容进行粘贴
:1,10 m 20将第1-10行移动到20行之后
vim退出命令
:wq保存并退出
:ZZ保存并退出
:q!强制退出并忽略所有更改
:e!放弃所有更改,并打开原来文件
vim的窗口命令
:split或new 打开一个新窗口,光标在顶层的窗口上
:split file或:new file 用新窗口打开文件
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口
Ctrl + ww 移动到下一个窗口
Ctrl + wj 移动到下方的窗口
Ctrl + wk 移动到上方的窗口
:close 最后一个窗口不能使用此命令,可以防止意外退出vim
:q 如果是最后一个被关闭的窗口,那么将退出vim
vim执行shell命令
:!ls 列出当前目录 下文件
:!perl -c script.pl 检查perl脚本语法,可以不用退出vim
:!perl scrip.pl 执行perl脚本,可以不用退出vim
:suspend或Ctrl + Z 挂起vim,回到shell,按fg可以返回vim
vim的注释命令
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
3,5 s/^/#/g 注释第3-5行
3,5 s/^/#//g 解除3-5行的注释
1,$ s/^/#/g 注释整个文档
:%s/^/#/g 注释整个文档,
vim的帮助命令
:help or F1 显示整个帮助
:help xxx 显示xxx的帮助
:help ‘number‘ vim选项的帮助用单引号括起
:help<Esc> 特殊键的帮助用<>扩起
:help -t vim启动参数的帮助用-
vim其他非编辑命令
.重复前一次命令
:set ruler? 查看是否设置了ruler,在.vimrc中,使用set命令设置的选项都可以通过这个命令查看
:scriptnames 查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等.
:set list 显示非打印字符,如tab,空格,行尾,如果tab无法显示,请确定用set
:syntax 列出已经定义的语法项
:syntax clear 清除已定义的语法规则
:syntax case match 大小写敏感,int和Int将视为不同的语法元素
:syntax case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案
5.打压文件的操作命令
linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的,而一般情况下打包和压缩是一起进行的,
打包并压缩后的文件的后缀名一般.tar.gz
tar -zcvf 打包压缩后的文件名 要打包压缩的文件,z代表用gzip压缩命令进行压缩,c代表打包文件,v显示运行过程,f代表指定文件名
tar -zcvf xxx.tar.gz a.txt b.txt:打包当前目录下的a.txt和b.txt文件成名为xxx.tar.gz压缩文件
解压压缩包:tar -xvf,x代表解压,
tar -xvf xxx.tar.gz:将当前目录下名为xxx.tar.gz的压缩文件解压
tar -xvf xxx.tar.gz -C/usr,C代表指定解压的位置,这段代表将这个文件解压到usr文件下
6.其他命令
pwd:显示当前所在位置
grep要搜索的字符串,要搜索的文件
grep to test.conf:搜索当前目录下的test.conf文件中的包含字符串to的行
| 将前一个命令的输出作为本次目录的输入
ps -ef | grep system :代表乍看当前系统中所有的进程中包括system字符串的进程
ps -ef 查看当前系统中运行的进程
kill -9 进程的pid 杀死进程
7.网络通信命令
查看当前系统的网卡信息:ifconfig
查看与某台机的连接情况:ping
查看当前系统的端口使用:netstat -an
8.linux的权限命令
每个文件/目录等都具有权限,通过ls -|命令我们可以查看某个目录下的文件或目录的权限
r读取权
w写入权
x执行权
-无操作权
最前面的符号:d代表目录,-代表文件,|代表连接(可以认为是window中的快捷方式)
chmod u=rwx,g=rw,o=r aaa.txt:代表修改当前目录下aaa.txt文件的权限为属主有全部权限,属组所在的组有读写权限,其他用户为只读
以上是关于Linux的基础命令的主要内容,如果未能解决你的问题,请参考以下文章