如果我想按名称查找文件,我会执行以下操作:
find -name app
Run Code Online (Sandbox Code Playgroud)
如果我想按类型查找文件,我会执行以下操作:
find -name app -type d
Run Code Online (Sandbox Code Playgroud)
但是,由于 app 是一个通用名称,因此会显示许多结果。我想找到一个名为 app 的目录,它是今天创建的。是否有标志或命令来实现这一目标?
安装 Ubuntu 服务器时,默认的 Ubuntu 服务器将只存储核心系统,但可以选择添加其他服务器角色。其中之一是“DNS 服务器”。
根据我的阅读,当您将此选项添加到安装中时,Ubuntu 会将bind9和bind9-doc包添加到您的系统中。这些包提供了 Bind 9 DNS 服务器及其文档。实际上,DNS 服务器只是一种采用主机名并自动在 Internet 上查找该主机的 IP 地址的技术。每当您购买域名时,例如在 Godaddy 上,您都可以在他们的网站上选择将该主机名指向您的公共 IP 地址。就这么简单。那么为什么有人需要在他们的 Ubuntu 安装上设置 DNS 服务器呢?
使用 Ubuntu 桌面,我打开了终端并使用了 bash shell。bash 的 shell 扩展之一是算术扩展,语法如下:
$(( EXPRESSION ))
or
$[ EXPRESSION ]
Run Code Online (Sandbox Code Playgroud)
当我做算术时,它确实返回了正确的值,但后面总是跟着“找不到命令”:
$ $((1+2))
3: command not found
$ $[1+2]
3: command not found
$ $[2+2]
4: command not found
$ $((2*6))
12: command not found
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么它显示“找不到命令”,我该如何解决?
我想阻止流量到特定域,例如 mysite.com。我试图阻止该站点的 IP 地址,但它不起作用:
ufw deny from 0.0.0.0 to ip_address_of_site
Run Code Online (Sandbox Code Playgroud)
即使在重新启动后,我仍然可以访问该网站。
知道我可能做错了什么吗?
我知道这可能是重复的,但我查看了其他答案并且对这些答案不满意。如果您是超级用户或文件的所有者,您应该能够使用 chown 命令。好吧,就我而言,我是文件的所有者,我想使用 chown。但我想将文件的所有权更改为超级用户,所以我输入以下内容:
$ chown root testfile
Run Code Online (Sandbox Code Playgroud)
但它给了我错误:
chown: changing ownership of `testfile': Operation not permitted
Run Code Online (Sandbox Code Playgroud)
但是,我是该文件的所有者,并授予自己对该文件的读取、写入和执行权限:
-rwx------ 1 viggy viggy 10 Nov 14 13:01 testfile
Run Code Online (Sandbox Code Playgroud)
那么作为文件的所有者,为什么我不能更改文件的所有权?
我有一个我创建的小程序。这是其中的一个相关部分:
void TcpSocket::ConnectSocket()
{
socket = new QTcpSocket(this);
socket->connectToHost("localhost", 77);
if(socket->waitForConnected(3000)){
qDebug() << "Connected";
socket->write("Hello Server\n\r\n");
socket->waitForBytesWritten(1000);
socket->waitForReadyRead(3000);
qDebug() << "Reading: " << socket->bytesAvailable();
qDebug() << socket->readAll();
socket->close();
}
else {
qDebug() << "Could not connect";
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我想在 localhost:77 打开一个 tcp 套接字。我想向其中写入一些数据,获得响应,然后输出响应。但是,现在该端口已关闭,因为默认情况下大多数端口都在 ubuntu 中。所以现在它无法连接到该端口进行侦听。根据我的研究,iptables 似乎是打开侦听端口的唯一方法。所以我在我的机器上运行这条线:
sudo iptables -A INPUT -p tcp --dport 77 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
但是,端口 77 仍未打开。
sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 …Run Code Online (Sandbox Code Playgroud) 在我的一些 ubuntu 安装中,当我运行sudo su并成为 sudo 用户时,我可以输入历史记录并查看以 sudo 用户身份运行的命令列表。但是,在我的一个 ubuntu 安装中,出于某种原因,当我运行sudo su并键入 时history,我得到了这个:
$ sudo su
# history
1 history
Run Code Online (Sandbox Code Playgroud)
但是我确信很多命令都是以 sudo 用户身份运行的,但是当我 ssh 退出并 ssh 回到我的 ubuntu 服务器时,它们不会显示,就像它们在其他服务器上的显示方式一样。我是否在这台服务器上禁用了某些开关或某些功能?如何重新获得查看以 sudo 用户身份运行的命令的历史记录的权限?
我是通过 Ubuntu 服务器登录的ssh,我想知道其他用户是否也通过 SSH 登录。是否有我可以运行的命令来完成此操作?
我试图删除一个用户:
# deluser someuser
Removing user `someuser' ...
Warning: group `someuser' has no more members.
userdel: user someuser is currently logged in
/usr/sbin/deluser: `/usr/sbin/userdel someuser' returned error code 8. Exiting.
Run Code Online (Sandbox Code Playgroud)
我跑谁
# who
myuser pts/0 2013-12-19 23:00 ...
Run Code Online (Sandbox Code Playgroud)
它只显示我已登录。我确实需要删除此用户,但我没有他们的密码,但是我有 sudo 密码。我怎样才能删除它?
在 Ubuntu Server 上,我尝试为 postgresql 打开端口 5432:
$ sudo ufw allow 5432/TCP
ERROR: Bad port
Run Code Online (Sandbox Code Playgroud)
Postgresql 当前未运行,并且 netstat 显示当前没有进程使用该端口。这里发生了什么?