如何提取一个tar文件?
tar xzf file.tar.gz
如何压缩一个文件?
tar czf zipped.tar.gz unzipped.pdf
创建工作/服务
如何在后台运行一个脚本?
在命令的最后加上& 。例如,tail -f /var/log/syslog & 。
注意,*当你退出shell时,该进程也会以挂起的信号终止(kill -SIGHUP [pid])。*这意味着,如果你通过ssh进入一个服务器,你运行一个进程并把它放在后台,然后你退出服务器......这个进程也会随之终止。
如何在后台运行一个脚本而不在退出服务器时被终止?
在你的命令中附加nohup ,这意味着 "不挂断"。这是一种将进程作为守护进程运行的穷人的方法。只在那些需要一些时间,但不会挂起太长时间的进程中使用。
如何检查后台任务?
jobs
如何使一个任务回到前台?
fg [job-id]
如何使一个任务回到后台?
在你暂停它(CTRL+Z)之后,你可以用以下方法把它带回来bg [job-id]
文本流
如何查看文件中的内容?
cat somefile
如何在不退出的情况下查看文件中的内容?
less somefile
如何从一个文件中找到内容?
cat /some/text/file | grep "text to find"
如何将一个命令流转到一个新的文件中?
cat /etc/group | grep ubuntu > somefile
如何流式传输命令并附加到一个现有的文件中?
cat /etc/group | grep ubuntu >> somefile
检查文件的前5行
head somefile
检查失败的最后5行
tail somefile
将文件解析成列
cut -d: -f3 getThirdColumn.txt
注意,(-d:)意味着使用冒号(:)作为分隔符,(-f3)意味着处理每行的第三列。
如何对文件中的内容进行排序?
cut -d: -f3 parseme.txt | sorn -n
这是将内容输送到一个排序的流中并在屏幕上打印出来
巴什
如何指定一个文件的转轮?
在文件的顶部添加#!/bin/bash ,通常称为 "shebang"。
成功退出一个脚本
在脚本文件的结尾处添加exit 0
使一个脚本可执行
chmod +x myscript.sh
注意,你必须在文件的顶部添加 "shebang"。
管理系统服务
sudo service [service-name] restart
sudo service [service-name] stop
sudo service [service-name] status
防火墙
如何显示当前的防火墙规则?
sudo iptables -L
文件
如何在一个目录中查找文件?
find /usr/share/doc -name '*.pdf'
如何删除找到的文件?
find /usr/share/doc -name '*.pdf' -delete
如何对找到的文件执行一个命令?
find /usr/share/doc -name '*.pdf' -exec cp {} . \;
如何找到大于一定大小的文件?
find /boot -size +20000k -type f
如何找到磁盘的可用空间?
df
如何查找磁盘的使用情况?
du
流和重定向
如何重定向输出和覆盖一个文件?
>
如何重定向输出和附加一个文件?
>>
如何把标准输出(没有错误)重定向到一个文件?
1> or 1>>
如何将错误输出重定向到一个文件,同时仍显示标准输出?
2> or 2>>
如何在重定向错误输出的同时显示输出,而不是在终端显示错误?
2>| or 2>>|
如何将标准输入和错误输出(STDIN和STDERR)都重定向到一个文件中?
&> or &>>
文件权限和所有权
如何改变一个文件的权限?
请记住这一点。
- 读 (r) = 4
- 写 (w) = 2
- 执行 (x) = 1
场景。
- 只想获得读取权限?4
- 只想要读和写的权限?4 + 2 = 6
- 只想要执行和阅读?4 + 1 = 5
- 想要所有权限?7
使用这种格式。chmod [user/group/others] file
例如:chmod 467 file 将允许用户只读,组群只读不写,其他的则是完全权限。
你也可以使用这样的格式。chmod u=r,g=rw,o=rwx file1
重要参数。
- (-r)表示递归
- (-v)表示详细说明
如何显示用户的当前用户/组?
id
如何把文件改成一个新的组?
chgrp [grpname] file
如何把文件改成新的所有者?
chown [uname].[grpname] file
例子。
chown www-data file1将所有者改为www-datachown .www-data file1改变组为www-datachown root.root file1将所有者和组都改为root
如何找到当前用户的组?
groups
如何改变用户的当前组?
newgrp [grpname]
如何更改为根用户?
su
如何在不改变权限的情况下复制一个文件?
注意,当进行cp时,它也会改变文件的所有权和时间戳......也就是说,如果你是以root身份,它将删除旧的所有权/组,并使新文件成为root身份。
cp -a old new
SSH
检查你的主机名是什么
hostname
如何SSH到一个服务器?
ssh 192.168.56.105
注意,由于你没有在那里指定一个用户名,它将使用你现在正在使用的用户名。
如何为快捷方式创建别名?
touch ~/.ssh/config
添加这个。
Host server1
HostName 192.168...
User root
Port 22
Host server2
HostName 192....
User root
Port 22
现在你可以直接说ssh server1 或ssh server2
如何创建一个公钥/私钥?
ssh-keygen -t rsa
这里,我们要指定类型,将是rsa。
如何将你的公钥复制到服务器上?(你必须仍然有root权限)
ssh-copy-id -i ~/.ssh/id_rsa.pub server1
如何防止服务器中的root ssh访问?
vim /etc/ssh/sshd_config 找到PermitRoot...并将yes改为no。
如何通过ssh安全地复制文件?
scp /etc/hosts server1:/tmp
// origin to remote
scp /some/file someSvr:/some/dir
// remote to origin
scp someSvr:/tmp/hosts .