首页 > 代码库 > Linux的基础命令

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的基础命令