常见的Linux命令介绍

84 阅读5分钟

如何提取一个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-data
  • chown .www-data file1 改变组为www-data
  • chown 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 server1ssh 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 .