linux 基本命令使用
一、认识linux
linux发行版本
deb派系--桌面版系统
1、Debian(读音:‘debeen 待宾)
2、Ubuntu(读音:u’bʌntu 乌班图)
3、Deepin(读音:diːpin 低评)
……
|
|
rpm派系--服务器系统
1、RedHat(读音:‘redhæt [红帽])
2、CentOS(读音:sen’tus 圣斗士)
3、Fedora(读音:fɪ’dɔːrə 费多拉帽)
……
|
|
linux在线源码
如果想了解 linux 内核源代码,强烈推荐在 Bootlin 上阅读。
Linux 全称 GNU/Linux,是一种免费使用和自由传播的类 UNIX 操作系统,其内核由 Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)于 1991 年 10 月 5 日首次发布,它主要受到 Minix 和 Unix 思想的启发,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 有上百种不同的发行版,如基于社区开发的 debian、archlinux,和基于商业开发的 Red Hat Enterprise Linux、SUSE、Oracle Linux 等。
linux核心思想
● linux 核心思想
首先记住这个:Linux 的核心思想即一切皆是文件,设备是文件,系统是文件。比如在我们插入一个 USB 设备,/etc 的目录下多一个 USB 设备的文件夹。而对 USB 所有的操作都是通过读写这个文件进行。脚本(Script/skrɪpt/
)是存储在文件中的命令的集合,命令(Command/kə'mɑːnd/
)是针对计算机的指令,终端/控制台(tty,Termial/'tɜːmɪnl/
/console/kən'səʊl/
)是命令行接口,壳(Shell/ʃel/
)是一个命令行解释器,内核(Kernel/'kɜːnl/
)是 Linux 操作系统的核心。
● linux 脚本解释器
Bash/bæʃ/
是大多数 Linux 系统默认的 shell 脚本解释器(注:我们平时说 Linux 中有多少种 shell 其实指的就是其中存在几种 shell 脚本解释器),可以使用命令cat /etc/shells
打开文件查看到系统可用的 shell 。在脚本文件中,我们常看到第一行内容为#!/bin/bash
,表示告知系统使用哪个脚本解释器来执行脚本文件,即使用哪一种 shell 。(补充:Bourne Again shell/bʊən/ə'ɡen/ʃel/
(简写为 Bash)(标记为#!/bin/bash
)是 Bourne shell(标记为#!/bin/sh
) 的扩展,与 Bourne shell 完全向后兼容,并且在 Bourne shell 的基础上增加、增强了很多特性。特别说明:#!/bin/bash
这些信息在首行且必须使用\n
来换行,不能是\r\n
之类的来换行,否则会提示 ^M 错误!!!
● linux 环境变量
shell 中环境变量变量分三种:内部变量、系统变量、用户变量。
内部变量:系统提供,不用定义,不可修改;($$ $? $0 $# $* $@ $1 … $SHELL(当前使用的shell(路径)) $HOME(家目录)
)
系统变量:系统提供,不用定义,可以修改,利用export
将用户变量转为系统变量;
用户变量:用户提供,用户定义,可以修改,利用export
将用户变量转为系统变量;
环境变量(environment variables/ɪn'vaɪrənmənt/'veəriəbls/
)一般是指在操作系统中用来指定操作系统运行环境的一些参数,其中一个目的是告诉系统知道应用程序所在哪个路径下,让系统可直接运行应用程序(如果应用程序已在系统标准位置下,则不需要增加环境变量。linux系统几个标准位置:/bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin 等)(Windown 系统使用分号分隔,而 linux 系统使用冒号分隔)。一般提到的环境变量主要指系统变量。环境变量配置推荐:如果要修改所有用户环境配置的话修改/etc/profile
,修改单个用户的话修改~/.bashrc
(如:开发板的 /root/.bashrc)。
1.1、export
显示包括利用 export 将用户变量转为环境变量的 shell 变量。
1.2、echo $PATH
命令为输出当前的 PATH 环境变量的值(以冒号分割不同路径)
1.3、export PATH=$PATH:/home/abc/mysql/bin
可临时/永久配置环境变量(例子)。
2.1、/etc/environment
整个系统环境变量,不能使用 export PATH,不建议改!
2.2、/etc/profile
所有用户环境变量,只在用户登录的时候读取一次。
2.3、/etc/bash.bashrc
所有用户环境变量,每次运行 Shell 就会读取一次,影响效率。
2.4、~/.profile
只针对当前用户,只在用户登录的时候读取一次(不同系统可能是:~/.bash_profile、~/.bash_login、~/.profile)
2.5、~/.bashrc
只针对当前用户,每次运行 Shell 就会读取一次。
2.6、source xxxxxx
手动生效上面脚本文件(如:source /etc/profile)。
linux软件安装
所谓命令,其实就是在终端机下调用某个软件(工具)运行。这些软件大部分是系统自带的,但有些需要我们去安装,安装的方式有在线安装、离线安装(离线软件包括:解压版、源码版、安装版)。
在线版:利用系统提供的服务,直接运行命令安装软件;(常规方式)
解压版:直接解压即可使用,建议移到合理目录;(推荐方式)
源码版:先编译源代码,再复制到目标(板)运行;
安装版:执行后按照提示安装;
【补充:通常还需要配置环境变量!】
● 在线版-安装示例:
|
|
● 解压版-安装示例:
|
|
● 源码版-安装示例:
|
|
● 多版本共存处理方法:
|
|
|
|
linux命令常识
●【命令的基本格式】:
command [options] [arguments]
选项options
(/‘ɒpʃnz/)是命令的行为开关,分为短选项和长选项,短选项-例如:-l -a
,某些可组合-例如-la
,其带子参数为-p 1234
(通常中间使用空格),长选项-例如:--help
,其带子参数为--size=1G
(通常中间使用=)。补充:选项一般在命令右边及作用对象的左边。
参数arguments
(/‘ɑːgjʊmənts/)是命令的作用对象,例如:cat 123.txt
表示查看 123.txt 文件内容。
●【多条命令方式】:
command_1; command_2; command_3
表示如果一件事情需要多行命令运行,无论命令成功与否都会往下一条指令执行,免去等待时间;
command_1 && command_2
表示如果一件事情需要多行命令运行,并确保命令【成功】才往下一条指令执行,例如:一些编译命令;
command_1 || command_2
表示如果一件事情需要多行命令运行,并确保命令【失败】才往下一条指令执行;
command_1 & command_2
表示两行命令【同时】执行(补充:实际优先执行前行命令)
●【在 bash 中的 命令、选项、参数 处理方式】:网文
直接
来处理,依次对$1, $2, ..., $n
进行解析。
getopts
来处理,只能处理单个字符选项的情况(如:-n 10 -f file.txt等)。
getopt
来处理,既可处理单个字符选项,也可处理长选项(如:–prefix=/home等)。
●【. .. / $ % = - – | > » ~ # 常识】网文
.
一般表示当前位置
..
一般表示上一级位置
/
一般表示文件夹或路径
$
一般表示变量/参数/最尾部
%
一般表示通配符/所有
=
一般表示赋值
-
一般表示短选项
--
一般表示长选项
|
一般表示管道命令
>
一般表示以覆盖方式输出保存至某文件
>>
一般表示以追加方式输出保存至某文件
~
一般表示用户 home 目录
#
一般表示注释(在脚本中)
●【-a -l -n -t -r -f -i -v -u -p 常用选项】
-a
一般表示全部
-l
一般表示列表
-n
一般表示行/行号
-t
一般表示类型
-r
一般表示递归/文件夹/重启
-f
一般表示强制/文件
-i
一般表示互动/输入/不区分大小写
-v
一般表示详情
-u
一般表示用户/差异
-p
一般表示密码/进程号
linux命令资料
二、基本命令
1、常用的快速键
Ubuntu 拥有多个操作终端(使用
Ctrl+Alt+F1~F7
切换),F7
为系统默认启动&加载的图形操作终端,其余都是为纯命令行界面终端。
Ctrl+Alt+F1
切换到命令行界面终端。Ctrl+Alt+F7
切换到图形界面终端。Ctrl+Alt+t
在图形界面下打开命令行终端机。Ctrl+d
关闭当前命令行终端机(纯终端则重启)。Ctrl+c
强制退出在当前命令行终端机的程序。Ctrl+Insert
复制选择的文本内容。Shift+Insert
粘贴缓存的文本内容。Ctrl+a 或 Home
转到行的开头。Ctrl+e 或 End
转到行的结尾。Ctrl+u
把光标前面的内容全删掉。Ctrl+k
把光标后面的内容全删掉。Ctrl+l
输入行移到页面顶部(相当清屏)。↑ 和 ↓
方向键调取之前执行过的 Linux 命令。Tab
自动补全命令,提高输入速度及精准度。$
命令行前面显示此字符,表示以用户权限操作。#
命令行前面显示此字符,表示管理员权限操作。(root 权限)
2、系统权限操作
sudo
su
chmod
chown
chgrp
|
|
3、根与目录操作
cd
./
../
pwd
ls
ll
!!
tree
|
|
4、文件(夹) 操作
mkdir
touch
cp
mv
rm
find
locate
ln
zip
unzip
tar
|
|
5、文件内容操作
cat
head
tail
more
column
grep
echo
gedit
vi
|
|
6、远程文件操作
wget
ftpget
ftpput
tftp
ftp
nfs
telnet
ssh
sftp
|
|
7、磁盘硬盘操作
fdisk
mount
umount
cfdisk
dd
|
|
8、系统相关操作
ifconfig
man
cat
free
top
ps
kill
killall
logout
reboot
shutdown
set
|
|