Questions tagged «command-line»

有关使用命令行界面(CLI)的问题。


2
sudo -s命令的作用是什么,在本示例中如何使用?
我有以下疑问。在与软件安装相关的教程中,我要说的是我必须执行以下命令(我正在ssh shell中执行此命令,因此此步骤列表以exit命令结尾): sudo -s apt-get update apt-get install -y build-essential libtool libcurl4-openssl-dev libncurses5-dev libudev-dev autoconf automake screen exit 我的怀疑是: 命令-s后,该参数到底做什么sudo? 在网上搜索后发现: -s [命令] -s(shell)选项运行由SHELL环境变量指定的shell(如果已设置)或密码数据库中指定的shell。如果指定了命令,则通过外壳的‑c选项将其传递到外壳以执行。如果未指定命令,则执行交互式shell 在我看来,sudo -s使用shell的环境变量执行命令。 但这对我来说还不清楚:在这种情况下,使用环境变量执行的命令是什么?(它仅执行sudo -s而不是sudo -s [command])。

1
为什么使用双引号将awk的动作语句括起来与使用单引号将它们括起来相比会产生不同的结果?
如果我使用单引号将awk的action语句括起来,它将按预期工作: $ dpkg -l | grep "linux\-[a-z]*\-" | awk {'print $2'} linux-headers-3.13.0-27 linux-headers-3.13.0-27-generic linux-headers-3.14.4-031404 linux-headers-3.14.4-031404-generic linux-headers-generic linux-image-3.13.0-27-generic linux-image-3.14.4-031404-generic linux-image-extra-3.13.0-27-generic linux-image-generic linux-libc-dev:i386 linux-sound-base 但是,如果我使用双引号将其引起来,它将打印整行而不是特定的列/字段: $ dpkg -l | grep "linux\-[a-z]*\-" | awk {"print $2"} ii linux-headers-3.13.0-27 3.13.0-27.50 all Header files related to Linux kernel version 3.13.0 ii linux-headers-3.13.0-27-generic 3.13.0-27.50 i386 Linux …



2
当我在pwd中已经有一个名为“〜kernel-ppa”的文件夹时,为什么cd〜k(&选项卡)扩展为cd〜kernoops?
我有一个名为~kernel-ppainside 的文件夹~/Downloads。 aditya@aditya-desktop:~$ cd Downloads/ aditya@aditya-desktop:~/Downloads$ ls ~kernel-ppa 现在,当我键入cd ~k并按Tab以进行自动扩展时,尽管已存在具有相同起始字符的文件夹cd ~kernoops/,cd ~kernel-ppa/但外壳程序会将其扩展为。 为了使自动扩展正常工作,我需要使用对其进行转义\。因此,使用cd \~k并Tab正确按可以将其扩展为cd \~kernel-ppa/。即使使用cd \并按下Tab也能解决问题。 为什么会这样,为什么我需要逃脱?此外,由于~自动扩展甚至不需要,我还能逃脱什么? 如果我按照流程运行cd ~kernoops/并按Enter,则终端状态将更改为//: aditya@aditya-desktop:~/Downloads$ cd ~kernoops/ aditya@aditya-desktop://$ pwd // aditya@aditya-desktop://$ ls bin cdrom etc initrd.img lost+found mnt proc run srv tmp var boot dev home lib media opt root sbin sys usr vmlinuz aditya@aditya-desktop://$ …

4
如何从终端运行NetBeans?
我已经从下载的.sh文件中安装了JDK + NetBeans捆绑软件。 现在,我的桌面上有NetBeans快捷方式,但无法从终端运行NetBeans。 当我跑步时: sudo dpkg --get-selections NetBeans不在列表中,我也无法在Ubuntu Software Center中找到它。 如何从终端运行它,如何在系统中找到它? 当我使用Emacs安装apt-get它时,它会出现在主菜单中,并且可以立即从终端启动它。这两个安装有何不同?

1
关闭linux服务器并在特定时间自动打开
我正在做一个作业,讲师要我创建一个bash脚本以在晚上11点关闭服务器并在早上6点打开服务器。我可以通过使用sudo shutdown -h 23:00它来做到这一点。但是问题是我不知道如何在凌晨6点自动将其打开,我找不到任何可以执行此操作的命令。任何帮助,将不胜感激。

1
Bash历史记录键盘快捷键!*
在Bash中,有一些方便的运算符可以重复执行最后一条命令: !^ 扩展到上一个命令的第一个参数,例如, $ echo one "two three" one two three $ echo !^ echo one one !$ 扩展到上一个命令的最后一个参数,例如, $ echo one "two three" one two three $ echo !$ echo "two three" two three !* 扩展到上一个命令的所有参数,例如, $ echo one "two three" one two three $ echo !* echo one …

3
在Shell脚本中评估字符串
我正在遵循此bash shell脚本指南: http://www.tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html 在“数字比较”部分中,引用了一个示例: anny > num=`wc -l work.txt` anny > echo $num 201 anny > if [ "$num" -gt "150" ] More input> then echo ; echo "you've worked hard enough for today." More input> echo ; fi 上面发生的事情是,我们在bash变量中存储了一串命令,然后在该变量上调用echo。似乎发生的事情是对字符串求值并执行wc命令并将行数返回到控制终端。 好的,所以我在Ubuntu 12.04中启动终端并尝试类似的操作: $ touch sample.txt && echo "Hello World" > …


3
输出向下滚动的终端
我目前已经决定在垂直配置下测试我的双显示器,但遇到了一个以前从未遇到过的问题:终端上的输入线距离屏幕太远了! 我想知道是否有一种方法可以使输出向下滚动,以使输入行停留在顶部。 例如,普通的终端视图如下所示: PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=46 time=28.3 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=46 time=13.7 ms 64 bytes from 8.8.8.8: icmp_req=3 ttl=46 time=19.1 ms 64 bytes from 8.8.8.8: icmp_req=4 ttl=45 time=20.8 ms 64 bytes from 8.8.8.8: icmp_req=5 ttl=45 time=15.6 ms …


2
使用contab使用bash脚本创建Screen会话
我希望每次服务器启动时都运行一个.jar文件(我们使用的是VPS),因此我使用crontab -e,然后添加来编辑crontab @reboot bash /home/bash/startserver.sh。但是我什至还没有达到脚本可以工作的地步。 这是我的脚本: #!/bin/bash screen -S bukkit cd $HOME/server java -jar bukkit.jar 我需要使用的原因screen是,当我启动bukkit.jar时,它将进入控制台,在该控制台中,我可以为该程序输入更多命令(不过,我确信您对该站点上的Minecraft及其服务器都非常熟悉。 ,哈哈),但我需要能够在运行时以root用户的身份对其他程序执行其他命令,甚至关闭我的PuTTY会话。 唯一的问题是,运行此脚本时,它将创建一个屏幕会话,但是ID 为,因此ID 未在中列出screen -ls。相反,我必须去/run/screen/S-root查找ID,然后screen -X -S $name quit在其上使用典型的ID 。 也许这甚至是不可能的,或者实际上有一个更简单的方法可以做到这一点(我想更简单),但是我不知道为什么这不起作用。并且如果可行,screen -S bukkit在运行bash脚本时是否可以重新加入会话?(我想有多个问题,但是非常感谢您的帮助!(括号))

2
Oneliner命令使用kill给定的TCP端口号代替PID?
我经常做 sudo netstat -lpn |grep :8088 查看输出 tcp6 0 0 :::8088 :::* LISTEN 11189/java 然后 sudo kill -kill 11189 我想有一个更方便的命令,就像killatport 8088该命令使用tcp端口号作为变量,并且可以将其用作执行所需功能的管道的别名,但是如何从输出和管道中获取PID它对kill命令?我想我也许可以使用awk从netstat的输出中获取PID,但是我该如何维护并精确匹配端口,以使输入80与8080不匹配?我应该改为使用C程序吗?还是已经有一个像这样的小工具?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.