草庐IT

Shell常用命令大全

留小乙 2023-10-15 原文

嵌入式开发用的最多就是Shell命令,Shell命令是所有的Linux系统发行版所通用的,并不是说我在Ubuntu下学会了Shell命令,换另外一个Linux发行版操作系统以后就没用了,所以学习Shell命令非常有必要。

1、目录信息查看命令
文件浏览是最基本的操作了,Shell下文件浏览命令为ls,格式如下:

 ls   [选项] [路径]

Is命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录,它的主要参数有:

  • -a显示所有的文件以及子目录,包括以“”开头的隐藏文件。
  • -l 显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息。
  • -t 将文件按照创建时间排序列出。
  • -A 和-a一样,但是不列出“.”(当前目录)和“…”(父目录)。
  • -R 递归列出所有文件,包括子目录中的文件。
    Shell命令里面的参数是可以组合在一起用的,比如组合“-al”就是显示所有文件的详细信息,包括以“”开头的隐藏文件。

2、目录切换命令cd
要想在Shell中切换到其它的目录,使用的命令是cd,命令格式如下:

cd [路径]

路径就是要进入的目录路径,比如下面所示操作:

  • cd / 进入到根目录“/”下,Linux系统的根目录为“/”
  • cd /usr 进入到目录“/usr”里面。
  • cd … 进入到上一级目录。
  • cd ~ 切换到当前用户主目录

3、当前路径显示命令pwd
pwd命令用来显示当前工作目录的绝对路径,不需要任何的参数。

pwd

4、系统信息查看命令uname
要查看当前系统信息,可以使用命令uname,命令格式如下:

uname [选项]

可选的选项参数如下:

  • -r 列出当前系统的具体内核版本号。
  • -s 列出系统内核名称。
  • -o 列出系统信息。

5、清屏命令clear
clear命令用于清除终端上的所有内容,只留下一行提示符。

clear

6、切换用户执行身份命令sudo
Ubuntu(Linux)是一个允许多用户的操作系统,其中权限最大的就是超级用户root,有时候执行一些操作的时候是需要用root用户身份才能执行,比如安装软件。通过sudo命令可以使我们暂时将身份切换到root用户。当使用sudo命令的时候是需要输入密码的,这里要注意输
入密码的时候是没有任何提示的!命令格式如下:

sudo [选项] [命令]

选项主要参数如下:

  • -h 显示帮助信息。
  • -l 列出当前用户可执行与不可执行的命令。
  • -p 改变询问密码的提示符。

7、添加用户命令adduser
此命令需要root身份去运行。命令格式如下:

adduser[参数][用户名]

常用的参数如下:

  • -system 添加一个系统用户
  • -home DIR DIR表示用户的主目录路径
  • -uid ID ID表示用户的uid。
  • -ingroup GRP 表示用户所属的组名。

8、删除用户命令deluser
既然有添加用户的命令,那肯定也有删除用户的命令,删除用户使用命令“deluser”,命令如下:

deluser [参数][用户名]

主要参数有:

  • -system 当用户是一个系统用户的时候才能删除。
  • -remove-home 删除用户的主目录。
  • -remove-all-files 删除与用户有关的所有文件。
  • -backup 备份用户信息

9、切换用户命令su
“sudo”是以root用户身份执行一个命令,并没有更改当前的用户身份,所有需要root身份执行的命令都必须在前面加上“sudo”。命令“su”可以
直接将当前用户切换为root用户,切换到root用户以后就可以尽情的进行任何操作了!因为已经获得了系统最高权限,在root用户下,所有的命令都可以无障碍执行,不需要在前面加上“sudo”,“su”命令格式如下:

su [选项] [用户名]

常用选项参数如下:

  • -c -command 执行指定的命令,执行完毕以后恢复原用户身份。
  • -login 改变用户身份,同时改变工作目录和PATH环境变量。
  • -m 改变用户身份的时候不改变环境变量
  • -h 显示帮助信息
    注意:由于root用户权限太大,稍微不注意就可能删除掉系统文件,导致系统奔溃,因此强烈建议大家,不要以root用户运行Ubuntu。当要用到root身份执行某些命令的时候使用“sudo”命令即可要切换回原来的用户,使用命令“sudo su用户名”即可

10、显示文件内容命令cat
查看文件内容是最常见的操作了,在windows下可以直接使用记事本查看一个文本文件内容,linux下也有类似记事本的软件,叫做gedit,找到一个文本文件,双击打开,默认使用的就是gedit。命令“cat”,命令格式如下:

cat [选项] [文件]

选项主要参数如下:

  • -n 由1开始对所有输出的行进行编号。
  • -b 和-n类似,但是不对空白行编号
  • -s 当遇到连续两个行以上空白行的话就合并为一个行空白行。

11、显示和配置网络属性命令ifconfig
ifconfig是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络IP地址等等,此命令格式如下:

ifconfig interface options|address

主要参数如下:

  • interface 网络接口名称,比如eth0等。
  • up 开启网络设备。
  • down 关闭网络设备。
  • add IP地址,设置网络IP地址。
  • netmask add 子网掩码

12、系统帮助命令man
Ubuntu系统中有很多命令,这些命令都有不同的格式,不同的格式对应不同的功能,要完全记住这些命令和格式几乎是不可能的,必须有一个帮助手册,当需要了解一个命令的详细信息的时候查阅这个帮助手册就行了。Ubuntu提供了一个命令来帮助用户完成这个功能,那就是“man”命令,通过“man”命令可以查看其它命令的语法格式、主要功能、主要参数说明等,“man”命令格式如下:

man [命令名]

13、系统重启命令reboot
通过点击Ubuntu主界面右上角的齿轮按钮来选择关机或者重启系统,同样的我们也可以使用Shell命令“reboot”来重启系统,直接输入命令“reboot”然后点击回车键即可。

reboot

14、系统关闭命令poweroff
使用命令“reboot”可以重启系统,使用命令“poweroff”就可以关闭系统,在终端中输入命令“poweroff”然后按下回车键即可关闭Ubuntu系统。

poweroff

Shell命令就讲解到这里啦!!!

有关Shell常用命令大全的更多相关文章

  1. ruby-on-rails - 如何在 ruby​​ 交互式 shell 中有多行? - 2

    这可能是个愚蠢的问题。但是,我是一个新手......你怎么能在交互式ruby​​shell中有多行代码?好像你只能有一条长线。按回车键运行代码。无论如何我可以在不运行代码的情况下跳到下一行吗?再次抱歉,如果这是一个愚蠢的问题。谢谢。 最佳答案 这是一个例子:2.1.2:053>a=1=>12.1.2:054>b=2=>22.1.2:055>a+b=>32.1.2:056>ifa>b#Thecode‘if..."startsthedefinitionoftheconditionalstatement.2.1.2:057?>puts"f

  2. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  3. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是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.创建临时变量来

  4. 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

  5. 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的第一行,屏幕是空的。我在运行程序中看不到“输入您的密

  6. ruby - 可以正常中断的来自 Rake 的长时间运行的 shell 命令? - 2

    在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa

  7. ruby - 是否可以从 ruby​​ 脚本返回值并在 c 或 shell 脚本中读取该值? - 2

    我们如何从ruby​​脚本返回值?#!/usr/bin/envrubya="test"a我们如何在Ubuntu终端或java或c中访问'a'的值? 最佳答案 在ruby​​/python脚本中打印你的变量,然后可以通过示例从shell脚本中读取它:#!/bin/bashruby_var=$(rubymyrubyscript.rb)python_var=$(pythonmypythonscript.py)echo"$ruby_var"echo"$python_var"注意你的ruby​​/python脚本只打印这个变量(有更多复杂的方

  8. ruby - 从 FaSTLane 将环境变量传递给 shell 脚本 - 2

    我在跑Fastlane(适用于iOS的持续构建工具)以执行用于解密文件的自定义shell脚本。这是命令。sh"./decrypt.shENV['ENCRYPTION_P12']"我想不出将环境变量传递给该脚本的方法。显然,如果我将密码硬编码到脚本中,它就可以正常工作。sh"./decrypt.shmypwd"有什么建议吗? 最佳答案 从直接Shell中扩展假设这里的sh是一个faSTLane命令,它以给定的参数作为脚本文本调用shell命令:#asafastlanedirectivesh'./decrypt.sh"$ENCRYPTI

  9. ruby - 从 ruby​​ 调用时返回 shell 脚本的状态值? - 2

    我希望这些值匹配。当shell脚本由于某些错误条件而退出时(因此返回非零值),它们不匹配。壳$?返回1,ruby$?返回256。>>%x[lskkr]ls:kkr:Nosuchfileordirectory=>"">>puts$?256=>nil>>exitHadoop:~Madcap$lskkrls:kkr:NosuchfileordirectoryHadoop:~Madcap$echo$?1 最佳答案 在Ruby中$?是一个Process::Status实例。打印$?等同于调用$?.to_s,这等同于$?.to_i.to_s(来

  10. ruby - 为什么 shell 输出经常在其输出中使用 `mixed_characters'? - 2

    我看到反引号(`)(也称为重音符)字符与撇号字符(')混合在一起用于各种命令行输出。当然,为什么在某个地方在线记录了背后的原因/历史,但我找不到在哪里。以下是我所说的几个例子:来自make手册页:Ifmakefileis`-',thestandardinputisread.一些rake输出:.../ruby_koans/koans/about_strings.rb:6:in`test_double_quoted_strings_are_strings'为什么不一致?我想这里更广泛的问题是“为什么不适本地使用‘适当的’单引号或双引号?”但我意识到撇号(和重音符)在“标准”美国键盘上更容易

随机推荐