草庐IT

常用Linux系统命令、vim编辑命令汇总(看一遍用时候来查)

笑忘书丶丶 2023-03-28 原文

基本操作

pwd命令

作用:显示当前工作目录

用法:pwd

cd命令

作用:改变目录位置

用法:cd [option] [dir]

cd 目录路径 -进入指定目录

cd .. -返回父目录

cd / -进入根目录

cd或cd ~ -进入用户主目录

ls命令

用法:ls [option] [file]

常用参数:

  • 不带任何参数:列出当前目录下的所有文件和子目录

  • -F:分类显示,方便阅读

  • -a:显示隐含文件 (.开头的文件是隐藏文件)

  • -l:查看文件的各种属性

dir和vidr命令

用法: dir [option] [file]

dir [option] [file]

说明:dir和ls差不多,比ls功能少;vdir相当于ls -l

mkdir命令

用法:mkdir [option] [file]

mkdir 一次可以建立一个或者几个目录

常用参数:

不带任何参数:创建相应目录,如果目录父级目录不存在,则创建失败;

-p:创建相应目录,如果父级目录不存在,则一起创建

mv命令

用法:mv [option] [源文件] [目标]

常用参数:

不带任何参数:将源文件移动到目标文件(可以移动的同时改名字),注意:如果目标文件存在,则替换!

-i:将源文件复制到目标文件,如果目标文件存在则提示是否替换;

-b:将源文件复制到目标文件,如果目标文件存在则不进行覆盖,而是在目标文件后加~

cp命令

用法:cp [option] [源文件] [目标] 常用参数:

不带任何参数:将源文件复制到目标文件,注意:如果目标文件存在则替换;

-i:将源文件复制到目标文件,注意:如果目标文件存在则提示是否替换;

-b:将源文件复制到目标文件,如果目标文件存在则不进行覆盖,而是在目标文件后加~

-r:将子目录及其中的文件一起复制到另一个子目录下

rm命令

用法:rm [option] [file] 永久删除文件!

常用参数:

不带任何参数:删除文件或目录,不予任何提示(但是我的带提示,不知为何)

-i :删除文件或者目录,删除是进行提醒

-f:强制性删除文件或者目录

-r:将子目录及其中的文件一并删除

ln命令

用法:ln [option] [源文件] [目标文件] 建立文件链接

常用参数:

不带任何参数:创建硬链接,ls -i查看可以看到两个文件的inode一致。个人认为相当于指针

-s:创建软链接,即别名,如果源文件删除,软链接也无法访问。相当于win的快捷方式

chown和chgrp命令

首先了解一下权限

输入

ls -l

查看文件详细信息

其信息如图所示

第一列dr-xr-xr-x等信息的含义:

  • 第一位d代表是一个文件夹,l代表是链接,-是普通文件

  • 第二位至第四位,如rwx代表用户具有的权限:read、write、execute permission

  • 第五位至第七位,如r-x代表与用户同组的其他成员的权限:read、execute permission

  • 第八位到第十位,如r-x代表其他组成员具有的权限:read、execute permission

第二列信息的含义:链接数

第三列信息的含义:所属用户

第四列信息的含义:所属用户组

第五列信息的含义:文件大小

chown命令用于改变文件的所有权:含义为change own

用法:chown [option] [owner] [:[group]] [file] 冒号可以换成【.】

常用参数:

不带任何参数:改变文件的属主和属组

-r:改变目录及目录下所有文件的所有权设置

chgrp命令用于单独设置文件的属组

用法:chown [group] [file]

chmod命令

用于改变一个文件的权限,它以”用户组 +/- 权限“ 的表达方式来增加/删除相应的权限。具体来说,用户组包括了文件属主(u),文件属组(g),其他人(o),和所有人(a),而权限包括读、写、运行(rwx)。

用法:chmod [option] [file]

例如:

$ chmod u+x test.txt
$ chmod u-x test.txt
$ chmod ug=wr,o=r test.txt
head/tail命令

用法:head/tail [option] [file]

常用参数:

不带任何参数:显示文件头部/尾部10行;

-n:按指定的行数显示文件的头部/尾部;

cat、more、less命令

cat:一次性查看文件全部内容。-n参数:显示每行的行号。如果文件长达几十页,不建议使用cat

more:分页查看文本文件,空格分页,回车向下滚动一行,Q退出;

less:更人性化的文本阅读工具

find命令

作用:在指定范围内迅速查找到文件。

用法:find [option] [path] [expression]

//option在特殊情况下才会使用,日后补全

locate命令

作用:火箭般的速度定位文件

用法:locate [expression] pattern

grep命令

作用:在文件中寻找某些信息

用法:grep [option] pattern [file] //pattern基础正则表达式

Vim编辑器操作

vim是linux上标配的编辑器,功能十分强大。

用法:vim [file] 或者直接vim

注意:如果没有该文件,会新建文件,如果直接vim,没有文件名无法保存,要进入行命令输入 w [filename]添加文件名。

插入模式
  • a:在光标后插入

  • i:在光标所在位置插入

  • o:在光标所在位置的下一行插入

  • Esc:进入命令模式

  • :进入行命令模式

命令模式(按Esc进入)
上下左右移动: h、j、k、l
保存、退出、保存并退出::w、:q、:wq
另存为filename: :w [filename]
强制退出,不保存: :q!
向下搜索字符串: /[string]
  • :set ignorecase 忽略大小写

  • :set noignorecase 不忽略大小写

用于向上搜索字符串:?[string]
替换字符串: :[range]s/pattern/string/[c、e、g、i]
  • range用于指定替换作用的范围,如"1,10"表示1到10行,"1, $"表示从第一行到最后一行。全文替换也可以用"%"表示。

  • pattern用于将pattern所代表的字符串替换成string。

  • 最后的c、e、g、i是可选选项,含义如下:

    • c:每次替换前询问

    • e:不显示错误信息

    • g:替换一行中的所有匹配项(常用) 如果不用,一行有多个的情况只替换一个

    • i:不区分大小写

  • windows环境下的源码经常会有”^M“字符,需要替换则输入 :%s/^M//g

删除、复制、粘贴
  • x:删除光标所在位置的字符

  • dd:删除光标所在的行,2dd表示删除2行

  • D:删除光标所在位置的行尾所有的字符

  • d:普遍意义上的删除命令,和移动命令配合使用。如 dw表示删除光标所在位置到下一单词词头之间的所有字符

  • yy:复制光标所在行

  • y:普遍意义上的复制命令,和移动命令配合使用。如yw表示复制光标光标所在位置到下一个单词词头之间的所有字符

  • p:在光标所在位置粘贴最近复制/删除的内容

撤销和重做
  • u:撤销一次操作

  • Ctrl+R:重做被撤销的操作

程序员特有配置
  • :syntax on:语法高亮功能

  • :set autoindent:自动缩进

  • :set shiftwidth=4:缩进4格

有关常用Linux系统命令、vim编辑命令汇总(看一遍用时候来查)的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  3. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  4. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  5. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  6. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  7. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  8. ruby - 从 Ruby : capturing the output while displaying the output? 运行 shell 命令 - 2

    我有一个问题。我想从另一个ruby​​脚本运行一个ruby​​脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密

  9. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

  10. ruby - 是否有将图像文件转换为 ASCII 艺术的命令行程序或库? - 2

    有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/

随机推荐