linux常用命令

第一部分:开始使用控制台

1.1 运行命令

ls命令
ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

  • -a选项,是all的意思,就是显示所有的,包括隐藏的(就是文件名以点开头的,如 .test)
  • -l选项:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;

clear命令
清屏命令,这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会用这个命令。

1.2 关于文件系统的操作

cd命令
改变文件的目录
pwd命令
pwd是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径。主要用在当不确定当前所在位置时,通过pwd来查看当前目录的绝对路径。

1.3 读取文件

less 命令
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

cat命令
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

cat命令实例
设ml和m2是当前目录下的两个文件

cat m1 (在屏幕上显示文件ml的内容)
cat m1 m2 (同时显示文件ml和m2的内容)
cat m1 m2 > file (将文件ml和m2合并后放入文件file中)

1.4 编辑文件

touch 命令
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件

高级编辑器

  • vim
  • emacs

1.5 移动和删除文件

mv命令
mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
cp 命令
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

选项:
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

rm命令
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

选项:
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

mkdir 命令
mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

1.6 问题查询
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

第二部分:用户和权限

2.1创建用户

whoami命令
whoami命令用于打印当前有效的用户名称,相当于执行id -un命令。

adduser命令
adduser命令会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。

su命令
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

sudo命令
sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

2.2 文件权限

ls -l 命令在1.1节已说明

chmod命令
chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

2.3 文件的所有权

chown命令
chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。

2.4 Sudo

sudo 命令已在2.1节介绍

sudo !! 命令
sudo !! -- run the previous command as the super user.

第三部分:进程

3.1 进程

top 命令
top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

ps 命令
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

grep命令
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

3.2 暂停和恢复

密钥序列
ctrl + z -- 暂停一个进程
ctrl + c -- 中断(或退出)一个进程

命令

fg命令
fg命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。与bg命令一样,若后台任务中只有一个,则使用该命令时,可以省略任务号。

在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成

jobs命令
jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。

3.3 终止进程

kill命令
kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

以下是常用的信号
TERM 15 终止
KILL 9 强制终止
STOP 19 暂停(同 Ctrl + Z)

第四部分:环境和重定向

4.1 环境变量

VARIABLE=value -- 设置一个本地的环境变量
export VARIABLE=value -- 设置一个对子进程可见的环境变量

env命令
env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用"-"作为参数选项时,隐藏了选项"-i"的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量。

如果使用env命令在新环境中执行指令时,会因为没有定义环境变量"PATH"而提示错误信息"such file or directory"。此时,用户可以重新定义一个新的"PATH"或者使用绝对路径。

bash -- 在当前会话中启动一个新会话

echo命令
echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法,echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
注意:无论是echo "hello">file 还是 echo"hello">>file如果没有文件都会创建file文件
echo "hello">file :往file文件写入内容'hello'

4.2 find和grep命令

find 命令
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

grep命令已在3.1节介绍

4.3 管道和重定向

somecommand < inputfile -- run somecommand with input from inputfile, instead of the keyboard
somecommand > outputfile -- run somecommand with output to outputfile instead of the terminal screen.
command1 | command2 -- pipe the output of command1 to the input of command 2

第五部分:软件安装

5.1 从源代码构建软件

sudo apt-get update -- 更新计算机可用软件目录
sudo apt-get install build-essential --安装从源代码构建软件所需的工具
curl -O URL -- 在URL中下载文件
tar -xvf FILENAME.tar.gz -- tar.gz文件解压缩到当前目录
./configure -- 运行源代码附带的配置脚本。这将创建一个Makefile
make -- 运行makefile中指定的构建
sudo make install -- 运行来自Makefile的安装脚本,将会安装一个程序。
which -- 在用户的路径中找到一个程序文件

5.2 包管理器的介绍

apt-get update -- 更新计算机中的包目录
apt-cache search PATTERN -- 寻找符合PATTERN 模式的可用的包
apt-get install -- pACKAGE 安装一个或多个包
apt-get upgrade -- 升级到安装的所有包的最新版本。
apt-get remove PACKAGE --从您的计算机上删除或卸载软件包

参考:https://github.com/tws-practice/console/blob/master/COMMANDS.md

你可能感兴趣的:(linux常用命令)