前两节有说Git命令,反馈还不错,看来大家对这些必备的命令还挺感兴趣哈,这节就罗列一些Linux必须掌握的命令。
干货满满哦,直接发车...
一、常用的基本命令
1、关机开机
关机
shutdown-h now
立刻关机shutdown-h 3
3分钟后关机poweroff立刻关机
重启
shutdown-r now
立刻重启shutdown-r 3
3分钟后重启reboot立刻重启
2、帮助命令
--help命令shutdown --help:ifconfig --help:查看网卡信息
man命令(命令说明书) man shutdown注意:man shutdown打开命令说明书之后,使用按键q退出
二、 目录操作命令
1、目录切换
cd / 切换到根目录cd /usr 切换到根目录下的usr目录cd ../ 切换到上一级目录 或者 cd ..cd ~ 切换到home目录cd - 切换到上次访问的目录
2、目录查看
ls查看当前目录下的所有目录和文件ls-a 查看当前目录下的所有目录和文件(包括隐藏的文件)ls-l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)ls/dir 查看指定目录下的所有目录和文件 如:ls /usr
3、目录操作
3.1、创建目录
mkdir qq 在当前目录下创建一个名为qq的目录mkdir /usr/qq 在指定目录下创建一个名为qq的目录
3.2、删除目录或文件
删除文件:
rm文件 删除当前目录下的文件rm-f 文件 删除当前目录的的文件(不询问)
删除目录:
rm-r qq 递归删除当前目录下的qq目录rm-rf qq 递归删除当前目录下的qq目录(不询问)
全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除rm -rf /* 将根目录下的所有文件全部删除(慎用!)
3.3、目录修改
1、重命名目录
命令:
mv当前目录 新目录例:mv qq aa 将目录qq改为aa
2、剪切目录
命令:mv 目录名称 目录的新位置例:将/usr/lib目录下的qq目录剪切到/usr目录下面 mv /usr/lib/qq /usr
3、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归例:将/usr/lib目录下的qq目录复制到 /usr目录下面 cp /usr/lib/qq /usr
3.4、搜索目录
命令:find 目录 参数 文件名称例:查找/usr/lib目录下的所有以a开头的目录或文件find /usr/lib -name 'a*'
三、文件操作命令
1、文件操作
1.1、新建文件
命令:touch 文件名例:在当前文件目录创建一个名为ai.exe文件 touchai.exe
1.2、删除文件
命令:rm-rf 文件名例:删除ai.exe文件 rm-rfai.exe
1.3、修改文件
打开文件:
命令:vi 文件名例:打开房钱目录下的qq.exe文件vi qq.exe或者 vim qq.exe
注:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件:
使用vi编辑器打开文件后点击按键:i,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入a:在光标所在字符后开始插入o:在光标所在行的下面另起一新行插入
1.4、查看文件
cat:看最后一屏例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容catsudo.conf
more:百分比显示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看more sudo.conf
less:翻页查看例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上和向下翻页,q结束查看less sudo.conf
tail:指定行数或者动态查看例:使用tail-10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束 tail-10 sudo.conf
2、修改权限
rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
例:将qq.exe文件权限改为可执行文件权限,qq.exe文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹第一段(3位):代表拥有者的权限第二段(3位):代表拥有者所在的组,组员的权限第三段(最后3位):代表的是其他用户的权限
四、压缩文件操作
1、打包和压缩
Linux中的打包文件是:qq.tar
Linux中的压缩文件是:qq.gz
Linux中打包并压缩的文件是:.tar.gz
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
注:
z:调用gzip压缩命令进行压缩c:打包文件v:显示运行过程f:指定文件名
2、解压文件
命令:tar[-zxvf] 压缩文件x代表解压
五、查找命令
1、grep
grep命令是一种强大的文本搜索工具
例:
ps -ef | grep sshd 查找指定ssh服务进程 ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 ps -ef | grep sshd -c 查找指定进程个数
2、find
find命令在目录结构中搜索文件,并对搜索结果执行指定的操作
例:
find . -name "*.conf" -ls 在当前目录查找以.conf结尾的文件,并显示详细信息。find /root/ -perm 500 查找/root/目录下权限为500的文件 find . -type f -name "*.txt" 查找当目录,以.txt结尾的普通文件 find . -type d | sort 查找当前所有目录并排序 find . -size +50M 查找当前目录大于50M的文件
3、which
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
例:
whichpwd 查找pwd命令所在路径 which cpp 查找path中cpp的路径
六、su、sudo
1、su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root向普通或虚拟用户切换不需要密码,反之普通用户切换到其他任何用户都需要密码验证。
suxq:切换到xq用户,但是路径还是/root目录su- xq : 切换到xq用户,路径变成了/home/xqsu : 切换到root用户,但是路径还是原来的路径su - : 切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限,则必须要把密码告诉此用户。
退出返回之前的用户:exit
2、sudo
sudo是为所有想使用root权限的普通用户设计的,可以让普通用户具有临时使用root权限的权利,只需输入自己账户的密码即可。
进入sudo配置文件命令:
vi /etc/sudoer或者visudo
七、其他命令
1、查看当前目录:pwd
命令:pwd 查看当前目录路径
2、查看进程:ps -ef
命令:ps -ef 查看所有正在运行的进程
3、结束进程:kill
命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号
4、网络通信命令
ifconfig:查看网卡信息
命令:ifconfig 或 ifcongfig | more
ping:查看与某台机器的连接情况
命令:ping ip
netstat -an:查看当前系统端口
命令:netstat -an | grep6379
5、重启网络
命令:service network restart
6、切换用户
命令:su - 用户名
7、修改文件权限
命令:chmod777
8、清屏
命令:ctrl + |
9、vi模式下快捷键
esc后:保存并退出快捷键:shift+z+z光标跳到最后一行快捷键:shift+g删除一行:dd复制一行内容:y+y粘贴复制的内容:p
看完记得点赞收藏哦~
最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
我想用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中编写命令行实用程序
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候
嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来
我从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
我有一个问题。我想从另一个ruby脚本运行一个ruby脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密
有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/
如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最
在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa
关于SSHkit-Github它说:Allbackendssupporttheexecute(*args),test(*args)&capture(*args)来自SSHkit-Rubydoc,我明白execute实际上是test的别名?test之间有什么区别?,execute,capture在Capistrano/SSHKit中我应该什么时候使用? 最佳答案 执行只是执行命令。使用非0退出引发错误。测试方法的行为与execute完全相同,但是它返回bool值(true如果命令以0退出,而false否则)。它通常用于控制任务中的流程
我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解