linux命令行正确退出_从命令行正确执行所有操作

2023-11-04

UNIX®命令行是WYTIWYG界面-也就是说, 您输入的就是您得到的。 UNIX提供了数百个(甚至数千个)命令,您可以使用这些命令来操纵内核和用户空间中的各种可用资源。 需要监控CPU使用率吗? 尝试topps 。 是否需要删除所有以.bak结尾的文件? 尝试rm *.bak 。 在新命令方面需要帮助吗? 跑man

但是,当您需要的资源驻留在广域网(WAN)和全球Internet上的远程系统上时,该怎么办? 引用《银河旅行者指南 》,“不要惊慌!”。 UNIX命令行可以轻松下载和上传文件,连接到远程计算机,并查询远程服务器和网络的状态。 拿起毛巾:现在是时候去逛太阳系。

本地工作,全球转移

在本系列的第1部分第2部分中,您了解了使用UNIX命令行可以完成的工作。 只需几次击键(包括管道(|)或重定向),您就可以创建一个即兴数据处理机,其功能要比其各个部分的总和更强大。

尽管您日常使用的某些资源可能是本地资源 (即驻留在您自己的工作站上),但是可能会存储大量且不断增长的资产(文件,电子邮件和工具)一定距离(例如,在连接到WAN或Internet的计算机上)。 Web浏览器提供了对此类资源的几乎通用的访问权限,但有一个警告:指向和单击很快就会变得乏味,甚至繁琐,尤其是在必须检索多个项目的情况下。 而且,如果您要编写脚本 (本质上是捕获和重放)重复性或易出错的任务,那么窗口浏览器将是一个困难的盟友。

就像lscpmailuptimedu manage以及query local resources ,UNIX也提供了一套命令行工具来访问远程资源。 本文向您介绍了其中一些工具,包括一种有用的技术,它既可以帮助访问远程系统,又可以保护您的身份验证凭据。 具体来说,您将学习wgetcurl和Secure shell( ssh )。 wgetcurl工具传输文件; 使用ssh ,您可以安全地登录到远程系统并快速轻松地传输文件。

Telnet(和其他)的麻烦

如果您的系统运行rsh (或其变体- rcprexecrlogin ,或Irdist )或telnet ,禁止并立即删除,并伴随守护进程。 此外,如果您不允许匿名文件传输协议(FTP),请也禁用FTP软件。

使用rsh和FTP进行利用

有关rsh和FTP可能利用的更多信息和演示,请参阅“ FTP和Berkeley Rsh / Rlogin协议之间的安全漏洞 ”和“ 愚蠢的愚蠢协议:Telnet,FTP,rsh / rcp / rlogin”

尽管rshtelnet是UNIX的长期支持者,但攻击者可以利用这两个实用程序来(轻松)破坏您的系统。 您或您的系统管理员应停止并在运行该软件的地方删除该软件,并用ssh替换这些软件包的功能。

对于特权FTP访问,请使用sftp 。 将rdist替换为更高级的rsync 。 或者,如果必须提供匿名FTP(或通过HTTP下载),请确保使用防火墙硬件和软件将所有可公开访问的计算机与敏感的内部服务器隔离开。

但是首先,让我们讨论密码存在的令人讨厌的问题。

“您不需要臭气熏天的密码!”

通常,大多数计算机和服务的访问都受到保护。 在某些情况下,验证您的身份(并因此获得访问系统的特权)可能需要复杂的质询-响应交换,安全套接字层(SSL)证书,甚至是生物特征扫描。 但是,通常,密码足以获得访问权限。 就像您的个人识别码(PIN)一样,密码是您的秘密; 如果您选择了正确的密码,其他人可能很难随机猜出它。 您的姓名和强密码共同构成了充分的佐证。

当然,强密码可能很难记住,并且仅当您收集并记住另一个八个字符的密钥(例如,数字,标点和大小写混合)时,这种压力才会加剧。 一遍又一遍地输入密码可能会很烦人-更糟的是,它为自动控制自动化带来了重大障碍。

认识到这种麻烦,许多命令行实用程序允许您提供用户名和密码作为命令行参数。 例如,您可以使用以下命令来登录FTP站点,而无需干预:

ftp ftp://joe:passwd@www.example.com

但是,使用这种工具可以向共享您计算机的其他用户显示您的凭据。 (例如,尝试使用ps -Aeww来查看系统上每个进程的完整命令行和环境。)

为了提供与命令行选项相同的便利而没有固有的风险,许多程序可以从称为.netrc (发音为net-rc )的特殊文件中读取您的凭据,该文件通常位于〜/ .netrc中。 .netrc文件必须仅是所有者读写模式(模式0600-rw------- ),并且文件中的每个条目都必须遵循以下简单语法:

machine ftp.example.com login zaphod password I()Trillian!

machine www.magazine.com login abner password MmG8y*tr

default login anonymous password zaphod@heartofgold.com

前两行提供了machine关键字和计算机的域名, login关键字和您在计算机上的登录名,以及password关键字,后跟与您的登录名关联的密码。 最后一行的凭据为任何未特别命名的系统提供了默认值。 default行必须是.netrc文件中的最后一行。 (有关.netrc文件配置选项的完整信息,请键入man 5 netrc以查看.netrc手册页。)

显然,如果任何文件中包含任何身份数据,请使用用户只读模式(模式600 )或用户只读模式(模式400 )保护它,以防止意外覆盖或删除它。 您可能还希望使用模式700保护主目录。

现在,每当启动启用.netrc的应用程序(包括我接下来讨论的那些应用程序)时,相应的登录名和密码都会自动传递给所需的服务,而只需按一下键盘即可。 您通常可以使用-n选项禁用此自动登录功能。

移转的过程

与网页的HTTP和SSL上的HTTP(HTTPS)一起,FTP是最常用的Internet应用程序协议之一。 通过FTP,客户端可以连接到服务器,获取目录和文件的列表,然后下载文件(即,从服务器请求文件)或上传文件(即,将文件发送到服务器以保留) )。 格式为ftp://ftp.example.com/path/to/anotherfile.zip和ftp:// user:password@ftp.example.com/path/to/file.zip的 URL表示,使用FTP协议,连接到ftp.example.com并下载文件/path/to/anotherfile.zip。 后一个URL只是添加用于登录的凭据。

在大多数台式计算机上,此类URL会启动浏览器或默认的FTP应用程序以下载指定的文件。 但是,您可以将相同的URL与wget命令行实用程序一起使用-一种强大的实用程序,可通过HTTP,HTTPS和FTP下载文件。 它支持.netrc文件,并且完全是非交互式的,因此非常适合自动化。 如果您的系统没有wget ,则可以从GNU Software Foundation下载其源代码。 它只需几个简单的命令就可以在所有UNIX变体上轻松构建,并且您可以将该实用程序放置在您的个人bin目录或中央目录中。

假设您有一个.netrc文件,让我们看一下wget可以做什么的一些示例。 (在下面的示例中,提供了行号以供参考;您无需键入数字。) 清单1显示了如何使用wget下载文件而又不感到命令行的麻烦。

清单1.使用wget在命令行下载文件
1 $ wget http://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz
--16:02:29--  http://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz
           => `wget-1.10.2.tar.gz'
Resolving ftp.gnu.org... 199.232.41.7
Connecting to ftp.gnu.org[199.232.41.7]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,213,056 [application/x-tar]

100%[=====================>] 1,213,056    531.22K/s             

16:02:37 (529.57 KB/s) - `wget-1.10.2.tar.gz' saved [1213056/1213056]

2 $ wget -q ftp://mirror.linux.duke.edu/pub/centos/4.3/os\
  /i386/RELEASE-NOTES-en.html

3 $ cat url_list.txt
http://www.wikipedia.com
http://valdez.barebones.com/pub/freeware/TextWrangler_2.1.3.dmg

4 $ wget -i -nv url_list.txt
16:06:00 URL:http://www.wikipedia.org/ [33606] -> "index.html" [1]
16:06:41 URL:http://valdez.barebones.com/pub/freeware/
  TextWrangler_2.1.3.dmg [9488296/9488296] -> 
  "TextWrangler_2.1.3.dmg" [1]
FINISHED --16:06:41--
Downloaded: 9,521,902 bytes in 2 files

5 $ ls
RELEASE-NOTES-en.html   index.html              wget-1.10.2.tar.gz
TextWrangler_2.1.3.dmg  url_list.txt

命令1通过HTTP从其项目主页下载最新的wget源代码。 默认情况下, wget告知您进度。 您可以使用-q (用于安静模式)选项禁用所有消息。 命令2通过FTP检索了CentOS发行说明的版本,尽管非常安静。

保持网址完整

提示:许多HTTP URL都包含一些Shell特有的字符。 例如,许多URL包含一个问号(?),它将主机名和路径与参数列表分开。 但是,shell将问号解释为通配符。

要绕过shell的解释,只需将URL放在单引号中即可。 为避免文件名奇怪而又长,请使用wget -o命名输出文件。 这是一个例子:

$ wget -o sharkey\
'http://www.example.com/\
download.cgi?proj=science&file=sharkey'

如果要下载的URL列表很长,则无需将每个URL都放在命令行中。 相反,您可以创建(或生成)要下载的URL列表。 命令3显示url_list.txt,这是一个包含两个URL的简单文本目录; 命令4下载两个URL。 提供列表时,请使用-i选项。 -nv选项- 不详细的首字母缩写-提供更简洁的消息。

除非您提供下载文件的文件名(使用-o选项),否则wget会创建一个新的本地文件,该文件的名称与远程文件的名称相同,而忽略整个开头的URL。 命令5显示了从命令1到命令3下载的四个文件。

wget实用程序具有许多选项和功能。 它可以抓取 FTP或网站并下载完整的文件层次结构。 您还可以为自动下载设置配额,提供cookie并继续先前被中断的下载。 阅读wget手册页以了解该工具的许多技巧。

往上走

wget实用程序对于手动下载非常有用,但无法上传文件。 它也不能与安全的FTP, telnet和许多其他(旧的和较少使用的)Internet协议互操作。 对于这种传输,您必须转向名副其实的瑞士军刀网: curl

curl命令行实用程序可以获取和放置数据,因此非常适合将本地文件传输到远程服务器。 更好的是, curl的基础-libcurl库-具有丰富的应用程序编程接口(API),使您可以将curl所有功能直接询问到自己的应用程序中。 CC++ ,PHP和Perl编程语言只是可以利用libcurl的众多语言中的四种。 如果您的系统缺少curl和libcurl,则可以从libcurl主页下载源代码。

因为curl可以将本地文件复制到远程服务器,所以它是小型备份的理想选择。 例如, 清单2显示了一个Shell脚本,该脚本将充满数据库转储的目录复制到远程FTP服务器以进行安全维护。

清单2.使用curl远程存储数据库转储
foreach db (mydns mysql cms tv radio)
  /usr/bin/mysqldump --ppassword --add-drop-table -Q --complete-insert $db > $db.sql 
end

find dbs -mtime -1 -type f -name '*.sql' -print | foreach file (`xargs`)
  curl -n -T $file ftp://ftp1.archive.example.com
end

curl -n命令强制curl读取您的.netrc文件。 -T选项告诉curl将指定的文件上传到给定的URL。 如果您省略了目标文件名, curl简单地重用上载文件的名称。

您可能会猜到, curlwget拥有更多的选择。 值得阅读curl手册页并牢记这一点。 curl项目还维护一个使用列表 ,包括有关如何使用HTTP POSTPUT命令,如何提供登录凭据,如何使用SSL证书以及如何调试curl请求的说明。 快速提示:尝试curl -v --trace-ascii ...生成跟踪信息。

分离的六个地址

现代计算在很大程度上取决于各种形状,大小和服务的机器之间无数,尖锐的互连。 确实,即使在小型计算环境中,一台计算机可能专用于电子邮件,另一台计算机专用于服务网页,而其他计算机则用于执行更专门的任务。 在这种环境中-通常通过局域网(LAN),WAN或虚拟专用网络(VPN)连接-每天登录多台计算机非常普遍和必要。 系统管理员每小时都会从一台计算机反弹到另一台计算机,但是对于开发人员和其他用户来说,登录后需要对关键应用程序进行远程访问是很常见的。

X窗口系统和当前的桌面软件使远程访问变得相当透明:窗口是一个窗口,基础应用程序可以在任何计算机上运行。 但是同样,即使在以鼠标为中心的世界中,命令行也占有特殊的位置。 例如,如何轻松地在多台计算机上运行同一命令? 或者,更简单地说,如何在远程系统上启动xterm窗口?

远程系统访问是ssh及其衍生物scpsftp的职责。 sshrsh的安全版本,而scpsftp分别是rcp和FTP的安全替代品。 为什么安全? ssh及其变种提供了更强大的身份验证机制,并使用您选择的几种密码对所有流量进行加密。 即使有人嗅探您的网络, ssh流量看起来也是如此。

ssh最简单的用法是ssh hostname 。 此命令连接到主机名,并为您提供登录名和密码提示。 提供正确的凭据,您将处于:

(www.joe.com) $ ssh web.example.com
Login: arthur
Password: ******
( web.example.com) $

如果只想在远程系统上运行一个命令,则无需登录。只需将命令作为ssh的参数提供即可。 例如, 清单3中显示的命令在远程计算机上运行hostname -a -v

清单3.使用ssh在远程系统上运行命令
(www.joe.com) $ ssh db.linux-mag.com hostname -a -v
Login: vogon
Password: ******
db
gethostname()=`db.linux-mag.com'
Resolving `db.linux-mag.com' ...
Result: h_name=`db.linux-mag.com'
Result: h_aliases=`db'
Result: h_addr_list=`64.34.170.230'

ssh打开了与db.linux-mag.com的连接,并将hostname -a -v参数传递给远程计算机,该计算机运行命令并将输出返回给本地计算机。

ssh还提供了一种将文件和整个目录从一台计算机复制到另一台计算机的便捷方法。 scp几乎和cp一样容易使用。 这是一个例子:

(www.joe.com) $ scp -p -r ~/myproject web.example.com:

此命令将〜/ myproject目录复制到web.example.com。 如果省略目标路径名,则文件将复制到您的主目录。 -p选项保留所有文件的日期和时间戳,而-r启用递归模式,其中scp下降并复制所有子目录。

顺便说一句,前面的scp命令等效于运行:

(www.joe.com) $ tar czf - ~/myproject | ssh www.example.com tar xvzf - 
Login: deepthought
Password: ******

是的,您可以将本地命令的输出通过管道传输到远程命令(反之亦然)。

您可能已经厌倦了所有这些密码提示。 同样,重复的提示只会减慢工作速度并阻止自动化。 您可能还会厌倦一遍又一遍地键入长主机名。 幸运的是, ssh支持公用或专用密钥身份验证以及系统别名。

让我们使用DSA加密方案设置公共或私有密钥对。 为此,您必须生成密钥对,将公共密钥复制到远程系统,将其添加到已知密钥列表中,并验证一切正常,如清单4所示。

清单4.创建和安装公钥或私钥
1 $ cd ~
2 $ mkdir .ssh
3 $ chmod 700 .ssh
4 $ cd .ssh
5 $ ssh-keygen -t dsa 
Generating public/private dsa key pair.
Enter file in which to save the key (/home/mstreicher/.ssh/id_dsa): ./id_dsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in ./id_dsa.
Your public key has been saved in ./id_dsa.pub.
The key fingerprint is:
40:6c:26:e7:53:df:d1:7b:c4:79:c5:a8:cd:6b:fe:8e mstreicher@db.linux-mag.com
6 $ ls
id_dsa  id_dsa.pub
7 $ chmod 600 *

8 $ scp id_dsa.pub www.example.com:
Login: marvin
Password: ******
id_dsa  100%  668     0.7KB/s   00:00  

9 $ ssh www.example.com
Login: marvin
Password: ******
A $ mkdir .ssh
B $ chmod 700 .ssh
C $ cd .ssh
D $ cat ../id_dsa.pub >> authorized_keys
E $ rm ../id_dsa.pub
F $ chmod 600 *
G $ logout

10 $ ssh www.example.com

a $ hostname
www.example.com
b $ logout

命令1到3在您的主目录中创建一个名为.ssh的私有本地目录。 该目录必须为模式700 ,否则ssh将不使用公共或私有密钥身份验证。 (您可以在步骤A到C中看到在远程计算机上运行的相同命令序列。)命令5使用DSA创建密钥对。 现在,将两个密码短语留空。 (它们提供了更高级别的安全性,但增加了另一个认证步骤。) ssh-keygen生成两个文件:id_dsa(私钥)和id_dsa.pub(公钥)。 步骤6显示文件,而步骤7保护两个密钥。 您的密钥必须为模式0600或模式0400

将通配符传递到远程Shell

假设您要列出远程主目录中的所有C源文件。 在本地,您可以输入ls -l *.c ,因此可以通过ssh尝试:

$ ssh www.example.com ls -l *.c

可能会发生两件事:如果本地计算机上当前工作目录中没有任何C文件,则外壳程序会抱怨zsh: no matches found: *.c ,或者如果当前工作目录中有C文件不在远程计算机上的主目录中,则远程计算机上的外壳可能会报错, ls: whosit.c: No such file or directory 。 挠头?

问题在于,在发送ssh命令之前,通配符*首先由本地外壳扩展 。 您打算将*扩展到远程系统上。

为此,您必须防止本地外壳程序再次解释通配符。 您可以将*放在单引号中,也可以使用反斜杠( \ )来使星号转义 。 然后,星号作为常规字符传递到远程外壳程序,在远程计算机的上下文中解释它。

这是这两种方法-使用适合每种情况的一种方法:

$ ssh www.example.com ls -l \*.c
$ ssh www.example.com ls -l '*'.c

步骤8将公钥复制到远程计算机。 目前,您必须输入密码,但这是最后一次。 命令A到C创建私有.ssh目录,步骤D将公共密钥添加到授权密钥列表中。 文件名--authorized_keys-是有意的。 请勿使用其他名称。 步骤E删除密钥的副本; 与步骤7一样,步骤F保护文件。

注销并重新登录时,不再需要密码。 ssh (以及scpsftp )针对远程公钥测试您的私钥。 如果找到匹配项,则您的凭据是正确的,并且无需进一步标识即可登录。

有些系统将始终要求输入密码。 其他系统可能更喜欢RSA,而不是DSA。 请与系统管理员联系,以了解如何登录到特定计算机。 系统管理员也可以设置一些全局设置,以使系统更易于访问。

随时随地在线

如今,互联网以人类历史上从未有过的方式将人们广泛地联系在一起。 无论是在博客中共享一天的详细信息,还是为下一个项目下载源代码,电线都已取代轮胎,成为了解决之道。

网上冲浪仍然是一种流行的运动,但是为了腾出时间进行真正的网上冲浪,开发人员创建了自动进行各种文件传输的方法。 使用脚本和一些UNIX实用程序,您可以使外部Web保持最新并下载站点。 您只需敲击几下即可下载和上传文件,从而使该过程变得快速,简单。 而且,如果您创建.netrc文件,则可以进一步加快工作量。 没有更多密码。

现在您已经清楚了,将其放下并在信息高速公路上进行公路旅行。 在光纤尽头的餐厅见。 那里的最后一个拿起了标签!

翻译自: https://www.ibm.com/developerworks/aix/library/au-speakingunix3.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux命令行正确退出_从命令行正确执行所有操作 的相关文章

  • 为什么Java不支持C中的clrscr这样的函数?

    我有一个问题 对很多人来说可能听起来很愚蠢 但我不能停下来把它发布在这里 因为在互联网上找不到任何东西 为什么java没有我们在C中使用的clrscr之类的函数 如果我创建了一个基于用户输入反复迭代的 java 控制台应用程序 然后如果我想
  • Axis2 不返回自己的对象

    我编写了一些网络服务 其中一些返回一个简单的字符串 这个可以工作 另一些返回一个对象列表 不 axis2 1 5 1 无法处理集合类型 所以我将返回类型更改为Object 但我仍然收到这个异常 ERROR java lang Runtime
  • 从另一个未排序的numpy数组中的数据查找未排序的numpy数组中值的索引位置[重复]

    这个问题在这里已经有答案了 我有一个 numpy 数组 A 其中包含可以按任何顺序排列的唯一 ID 例如A 1 3 2 我有第二个 numpy 数组 B 它记录了 ID 何时被使用 例如B 3 3 1 3 2 1 2 3 1 1 2 3 3
  • ValueError:当数组不是序列时设置带有序列的数组元素

    您好 此代码旨在存储使用 open cv 绘制的矩形的坐标 并将结果编译为单个图像 import numpy as np import cv2 im cv2 imread 1 jpg im3 im copy gray cv2 cvtColo
  • Java 同步计数器 - get() 怎么样?

    众所周知这么简单x 不是原子操作 实际上是读 增量 写操作 这就是为什么它应该同步 但是关于get 我读过它也应该同步 但有人能解释一下为什么吗 通过引入来避免内存一致性错误happens before关系 当出现以下情况时该怎么办get
  • 如何对 glob.glob 进行数字排序?

    我在一个文件夹中有一堆按数字排序的文件 当我尝试对 glob glob 进行排序时 我从来没有以正确的顺序获得文件 文件示例和预期输出排序 folder C Users user Desktop folder 1 sample mp3 C
  • 如何使用 python 子进程杀死性能记录?

    我正在尝试使用性能实用程序 https www brendangregg com perf html监视我的系统 它将在 python 脚本中启动和终止 我创建了一个沙箱 如下所示 extra params F 99 g a record
  • 覆盖 Autobahn/Twisted WebsocketClientProtocol 类

    我想重写我的 WebSocketClientFactory 类以允许传入数据填充作业队列 这是我正在尝试的连接代码 factory WebSocketClientFactory ws localhost 7096 job queue Que
  • 通过反思思考工厂设计模式

    我正在对工厂模式进行研发 我开发了下面的代码 现在我知道子类是 Dog 和 Cat 但是如果我想通过在 main 中传递类名来通过反射实现同样的事情 请告诉我该怎么做 爪哇 public abstract class Animal publ
  • Python带有负数的排序列表[重复]

    这个问题在这里已经有答案了 为了尝试通过练习来学习Python 我正在尝试使用Python来实现和测试快速排序算法 实现本身并不困难 但是排序的结果有点令人费解 当我对列表进行排序时 35 1 2 7 8 3 4 20 6 53 结果给了我
  • functools.partial 想要使用位置参数作为关键字参数

    所以我试图理解partial import functools def f x y print x y g0 functools partial f 3 g0 1 4 Works as expected In g1 functools pa
  • 在 matplotlib 中使用轴绘制带有子点的图形时出现错误

    我尝试使用下面的代码绘制子图 但是我得到了 AttributeError numpy ndarray object has no attribute boxplot 但改变plt subplots 1 2 它正在用indexerror绘制箱
  • 在标准 python 线程中发出信号

    我有一个线程应用程序 其中有一个网络线程 UI 部分通过callback到这个线程 线程是一个normalpython 线程 它是NO QThread 是否可以在该线程内发出 PyQT Slot 不 不可能像这样从 python 线程发出
  • 如何在 spring-ws 中解析 SoapFaultClientException

    我正在使用 spring ws 2 3 1 在为 Web 服务创建客户端时 有时我得到SoapFaultClientException像下面这样
  • 从邮件服务器读取发送的邮件

    我知道如何从 INBOX 文件夹中检索邮件 但现在我想从 SENT ITEMS 文件夹中检索邮件 我正在使用 imap 检索数据 让我知道我应该在此函数中传递什么参数才能从 SENT ITEMS 文件夹中获取邮件Folder folder
  • 在 Back 上按遍历最后两个选项卡在 BottomNavigationView 中无法正常工作?

    单击后退按钮后 导航到上一个打开的选项卡 您只需遍历最后打开的两个选项卡即可退出应用程序 如何实现 我只想遍历我打开的所有选项卡 然后应用程序应该退出 这是布局
  • 就地改变 numpy 函数输出数组

    我正在尝试编写一个对数组执行数学运算并返回结果的函数 一个简化的例子可以是 def original func A return A 1 A 1 为了加速并避免为每个函数调用分配新的输出数组 我希望将输出数组作为参数 并就地更改它 def
  • 使用 pytz 获取时区的国家/地区代码?

    我在用着pytz http pytz sourceforge net country information 我已经阅读了整个文档表 但没有看到如何做到这一点 我有一个时区 美国 芝加哥 我想要的只是获取该时区的相应国家 地区代码 美国 它
  • 如何在 Ubuntu x64 中使用 ptrace 插入 int3?

    我正在努力追随本指南 http eli thegreenplace net 2011 01 27 how debuggers work part 2 breakpoints 通过设置断点达到相同的结果 唯一的区别是我在 x64 系统上 所以
  • 在 Python 中窗口“失焦”时读取 HID 输入

    我在一个问题上苦苦挣扎了好几天 但无法让它发挥作用 我刚刚开始使用 python 现在已经面临着我在这个项目中将面临的最大问题 情况是这样的 我必须编写一个扫描条形码的程序 将其传达给在线服务并打印 PDF 这一切都很好 但我也想在窗口 失

随机推荐

  • 头文件库文件

    问题 不知道 Visual Studio 的头文件库文件如何配置 方法 C C gt 常规 gt 附加包含目录 添加头文件 链接器 gt 常规 gt 附加库目录 添加库目录 链接器 gt 输入 gt 附加依赖项 添加库文件
  • zip文件解压详解

    文章目录 1 起因 2 详解 3 实践 4 参考 1 起因 自己之前在linux系统解压zip文件 一直用 unzip zip 我们期望解压后的文件都是统一放到以 命名的文件夹下 但是自己有一次解压后发现所有的文件并没有放到上述文件夹下 而
  • 使用 @RequestMapping 注解,需要导入的包:spring-webmvc

    在Controller 层使用 RequestMapping注解 需要导入的包 spring webmvc 在类中需要添加 import org springframework web bind annotation RequestMapp
  • Pycharm激活方法使用的是(license server)Activate new license with: License server

    pycharm所有版本 http www jetbrains com pycharm download previous html 打开激活窗口 选择 Activate new license with License server 用li
  • 【JVM调优】JDK11-JVM基本参数调优以及日志打印

    Parm Xmx2g Xms1g Xss256k XX MaxDirectMemorySize 256m XX UseG1GC XX UseCompressedOops XX UseCompressedClassPointers XX Se
  • Python Interview Questions: A Review

    本文转载至 https www udemy com blog python interview questions Python is an elegant and versatile language used for a wide va
  • java获取当前时间戳的方法

    https www cnblogs com zhujiabin p 6168671 html utm source itdadao utm medium referral 获取当前时间戳 方法 一System currentTimeMill
  • Qt中的位置和尺寸

    在QT中我们常见的 点 线 尺寸 矩形 都被进行了封装 下边依次为大家介绍相关的类 目录 QPoint QLine QSize QRect QPoint QPoint是C 编程语言中Qt框架中的一个类 它表示2D坐标系中的一个点 它用于定义
  • python如何判断一个数是整数,浮点数,复数还是字符?

    遇到判断字符类型 上网搜索了一下 整理下来 1 判断字符串 python字符串常用的判断函数很多 有如下8种 1 str isalnum 所有字符都是数字或者字母 2 str isdecimal 所有字符都是十进制数字 3 str isdi
  • 字符串格式化:% 运算符

    1 课题导入 任务 用字符串拼接法原样输出 圆周率是3 1415926 声明变量pi 用于存储圆周率 pi 3 1415926 type函数查看变量pi 的数据类型 print type pi 用字符串拼接的方法输出 str函数将浮点数类型
  • 一个简单音乐播放器的java实现(一)

    写在前面 这几天正在读head first系列的书籍 现在正好读的是java 这本书讲的深入浅出 环环相扣 非常精彩 不妨安利给大家 顺便把我学习过程中的一些心得体会已经实例分享出来 1 一个最简单音乐播放器的需求 我们需要四样东西 1 播
  • 【AlexNet论文精读以及代码复现以及训练结果】

    AlexNet论文精读以及代码复现 三遍读一篇论文的方法 李沐 1 标题 gt 摘要 gt 结论 gt 关键的图表 2 从标题开始读到最后 太过于细节部分可以先放一下 搞清楚重要的图标的细节 3 第三遍要弄清楚每句话在干嘛 搞清楚细节 并且
  • 操作系统课程实践5_进程通信

    一 实验目的 1 初步了解Linux环境下进程创建和进程间通信的机制 2 掌握如何利用消息和共享内存进行通信的原理 3 利用POSIX API函数编写实例程序 4 实现父子进程间通过消息传递和共享内存方式进行通信 二 实验内容 编制两个程序
  • 独家专访LAION创始人:高中生与科学家同酬,Discord上一呼百应

    在LAION 大家都是无偿的 我们不像公司雇佣员工 所以我们不会付钱 一旦你开始付钱 就会有这样的讨论 高中生应该拿多少工资 谷歌的高级工程师应该拿多少工资 我已经有足够的钱过上好日子了 现在税后月收入4500欧元 2000欧元用来付房租
  • 华为商城官网下单工具

    华为mate60新机一经发布 就一机难求 研究华为商城手机下单代码 抓包分析 经过几天时间 下单搞定 先打开辅助登录工具 任意选定一款产品 登录商城 并点击立即下单到订单确认页 直到登录工具检测到登录信息 登录成功后 即可关闭辅助登录工具
  • Android:自动点击屏幕

    在开发的过程中会遇到自动测试功能 比如如何自动点击按钮进行测试 当然可以使用按键精灵等工具进行测试 不过如何在程序进程中测试呢 下面就介绍下adb shell的操作 通过shell进行点击等操作 1 模拟滑动 input swipe sta
  • FPGA project : usrt_rs232

    module uart rx parameter UART BPS d9600 CLK FREQ d50 000 000 input wire sys clk input wire sys rst n input wire rx outpu
  • 查看nginx安装位置

    您可以使用以下命令来查找nginx的安装位置 which nginx 该命令将输出nginx二进制文件的路径 默认情况下 nginx二进制文件通常位于 usr sbin nginx 您还可以使用以下命令来查找nginx配置文件的位置 ngi
  • redis五种数据类型对应的底层数据结构

    redis五种数据类型对应的底层数据结构 redis的五种数据类型 redis核心对象redisObject type数据类型 encoding编码类型 ptr指针 redis五种数据类型对应的底层数据结构 String字符串类型 SDS
  • linux命令行正确退出_从命令行正确执行所有操作

    UNIX 命令行是WYTIWYG界面 也就是说 您输入的就是您得到的 UNIX提供了数百个 甚至数千个 命令 您可以使用这些命令来操纵内核和用户空间中的各种可用资源 需要监控CPU使用率吗 尝试top或ps 是否需要删除所有以 bak结尾的