我正在使用Ubuntu 10.04。我安装后screen
:
sudo apt-get install screen
Run Code Online (Sandbox Code Playgroud)
我通过逐步执行以下操作与两个远程服务器建立了两个ssh连接(我根据此处的文档执行以下步骤):
1.打开终端窗口,运行命令screen
2.按Ctrl+ A+c创建一个新的虚拟控制台
3. ssh usr@IP1
此时,我有一个虚拟控制台,显示我已连接到远程服务器(IP1)。
4.按Ctrl+ A+c创建一个新的虚拟控制台
5. ssh usr@IP2
所以,现在我已经连接到两个远程服务器(IP1 和 IP2)。但是,我没有两个选项卡上的一个终端窗口,相反,我不得不使用Ctrl+ A+p和Ctrl+ A+n在两个虚拟控制台之间切换一个终端窗口。
是不是通过使用screen
,我可以在一个终端窗口中有两个选项卡,每个选项卡显示一个到一个远程服务器的连接。为什么我的终端窗口中没有选项卡?
我正在使用 MySQL 数据库并使用 Ubuntu Linux 机器。
我的数据库名为db_test
,我注意到在路径下/var/lib/mysql/db_test
,有文件后缀为.frm
, .MYD
,.MYI
如下所示:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Run Code Online (Sandbox Code Playgroud)
似乎每个.frm
, .MYD
,.MYI
文件组都映射到数据库中的一个表。
我有以下两个问题要问:
这三个文件究竟在做什么?
如果我在路径/var/lib/mysql/
say下创建一个新目录db_test_2
,并将db_test_1
目录中的每个文件复制到db_test_2
,它还会创建一个db_test_2
与db_test_1
's具有完全相同内容(表)的新数据库吗?
此物理数据库文件移动操作是否会创建与以下命令行操作相同的结果:
转储数据库db_test_1
出
创建一个新的数据库 db_test_2
然后将db_test_1
数据库转储回新数据库db_test_2
?
如果是这样,似乎移动文件比mysqldump
用于复制数据库(或将数据从一个数据库导入到 MySQL 中的另一个数据库)要快得多。对此有何意见?
我正在使用 Ubuntu。
我知道通过使用cd ~/
,我可以转到home/目录。
但是如果我想进入包含etc/
, var/
, opt/
, ... 子目录的目录(我不知道这个目录的正式名称),用来指代这个目录的符号是什么?(顺便说一下,这个目录的正式名称是什么?根目录?)
基本上,我想cd
访问该目录而不使用cd ..
一个符号来引用它,是否有这样的符号(例如~
引用主目录)?
我在Ubuntu机器上使用MySQL数据库。
我的MySQL数据目录是/var/lib/mysql/
,因为我有一个数据库名为“ db_test ”,所以,我有一个名为db_test/
下/var/lib/mysql/
。所有表格信息都在/var/lib/mysql/db_test/
/var/lib/mysql# ls
db_test
/var/lib/mysql# cd db_test
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
...
Run Code Online (Sandbox Code Playgroud)
我想要实现的很简单,只需要新建一个名为“ backup ”的目录,并将其下的所有文件移动 /var/lib/mysql/db_test/
到该/var/lib/mysql/backup/
目录下。因此,我在主目录的子目录下运行以下命令:
~/tmp$ sudo mkdir /var/lib/mysql/backup
~/tmp$ sudo mv /var/lib/mysql/db_test/* /var/lib/mysql/backup
Run Code Online (Sandbox Code Playgroud)
第一个mkdir
命令成功运行,我确实在下面得到了一个名为“backup/”的新目录/var/lib/mysql/
但是第二个命令失败,并显示以下错误消息:
mv: cannot stat `/var/lib/mysql/db_test/*': No such file or directory
Run Code Online (Sandbox Code Playgroud)
为什么??我有db_test/
目录,/var/lib/mysql/
里面有很多表文件,为什么会出现错误信息?
PS
我知道只有 root 用户可以访问/var/lib/mysql/
. 这可能是原因吗?(但我用过sudo
),但我不确定......以及如何摆脱它?
可能重复:
如何在文件中查找文本并让它搜索多个子文件夹?
我想找出mydir/
内容包含字符串“ apple ”的目录下的所有文件。我怎样才能做到这一点?
我在 Ubuntu 10.04 中。
当我使用“更新管理器”安装软件更新时,会弹出一个对话框告诉我
Run Code Online (Sandbox Code Playgroud)The volume "boot" has only 0 byte disk space remaining
如何摆脱这种情况?
我使用的是 Ubuntu 10.04,我知道我可以通过选择启动 NVIDIA x 服务器设置:
系统 -> 首选项 -> 监视器
在顶部栏上。
但是如何通过从终端运行命令来启动 NVIDIA x 服务器设置窗口?那是什么命令?
我在Ubuntu机器上使用MySQL v5.1。
我的机器上的 MySQL 曾经可以工作。(运行mysql -u root
给了我 MySQL 命令行。)
今天下午,我做了以下事情:
1.mysql
通过运行检查与“ ”相关的活动进程:
$ ps aux | grep 'mysql'
mysql 1457 3.3 1.3 130044 27076 ? Ssl 16:22 0:43 /usr/sbin/mysql
Run Code Online (Sandbox Code Playgroud)
2.我从上面的输出中看到mysql进程的PID是1457,所以我用:
$ sudo kill 1457
Run Code Online (Sandbox Code Playgroud)
3.现在,如果我运行$ mysql -u root
,我会收到一个错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)
这是合理的,因为我杀死了这个过程。
杀死 MySQL 服务器后,如何让其备份并再次运行?
我试图运行sudo /etc/init.d/mysql start
,但我的 MySQL 服务器没有启动。这是为什么?
我在Ubuntu机器上。
我在根目录下创建了一个目录,通过:
$ sudo mkdir /hello
$ sudo mkdir /hello/bye
Run Code Online (Sandbox Code Playgroud)
然后我将大小为 1024M 的tmpfs挂载到/hello/bye
:
$ sudo echo "tmpfs /hello/bye tmpfs size=1024M,mode=0777 0 0" >> /etc/fstab
$ sudo mount -a
Run Code Online (Sandbox Code Playgroud)
将来,如何清除 /hello/bye
(tmpfs)?
linux ×4
ubuntu ×4
command-line ×3
database ×2
mysql ×2
shell ×2
directory ×1
filenames ×1
filesystems ×1
find ×1
gnu-screen ×1
grep ×1
rename ×1
shell-script ×1
wildcards ×1