部分Linux基础知识+详细记录部分指令
Shell是一个命令行工具。Shell(也称为终端或壳)充当的 是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。现在许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。
常用系统工作命令
- echo
含义:用于在终端输出字符串或变量提取后的值.
1 | echo hello |
- date
date命令用于显示及设置系统的时间或日期,在强大的date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期
1 | date |
reboot
reboot命令用于重启系统poweroff
poweroff命令用于关闭系统wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。1
2wget -r -p http://www.linuxprobe.com --2017-08-24 19:31:41-- http://www.linuxprobe.com/ Resolving www.linuxprobe.com... 106.185.25.197 Connecting to www.linuxprobe.com|106.185.25.197|:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: 'www.linuxprobe.com/index.html'
ps
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为top。pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
例如,可以使用如下命令来查询本机上sshd服务程序的PID:
1 | pidof sshd |
kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程 PID]”。killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式 为:“killall [参数] [进程名称]”。
1 | pidof httpd |
tip:在系统终端中执行一个命令后想立即停止:Ctrl + C,如果有些命令在执行时不断地在屏幕 上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入 系统后台来执行。
系统状态监检测命令
……部分略……
ifconfig
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。history命令
history命令用于显示历史执行过的命令,格式为“history [-c]”。 能显示最近1000条命令记录。使用-c参数则会清空所有的命令历史记录。
1 | history -c |
工作目录切换命令
- pwd命令
pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。
1 | pwd |
cd命令
cd命令用于切换工作路径,格式为“cd [目录名称]”。
“cd -”:命令返回到上一次所处的目录,
“cd ..”:命令进入上级目录,
“cd ~”:命令切换到当前用户的家目录,
“cd ~username”:切换到其他用户的家目录。ls命令
ls命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
使用ls命 令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文 件的属性、大小等详细信息。将这两个参数整合之后,再执行ls命令即可 查看当前目录中的所有文件并输出这些文件的属性信息
tips:
- 隐藏文档一般以 “.” 开头;
- “.”表示当前路径;
- “..”表示上一级路径
- 使用”ls -la”显示的目录:第一列表示文档类型,”d”表示文件夹,”-“表示文件。例如:
1
2
3
4ls -la
total 2
dr-xr-x---, #省略后面部分
-rw-------, #省略后面部分
文件文本编辑命令
- cat命令
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。加一个-n参数显示行号
1 | cat -n [文件] |
- more命令
more命令用于查看纯文本文件(内容较多的),格式为“more [选项] [文件]”。
1 | more initial-setup-ks.cfg |
- head命令
head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。
1 | head -n 20 initial-setup-ks.cfg |
- tail命令
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
tail命令的操作方法与head命令非常相 似,只需要执行“tail -n 20 文件名”命令就可以达到这样的效果。tail命令 最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志 文件时,这特别有用,此时的命令格式为“tail -f 文件名”
1 | tail -f /var/log/messages |
- tr命令
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
例如,把某个文本内容中的英文全部替 换为大写:
1 | cat anaconda-ks.cfg | tr [a-z] [A-Z] |
- wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
stat命令
stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。cut命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。diff命令
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
使用–brief参数来确认两个文件是否不同,
使用-c参数来详细比较出多个文件的差异之处
文件目录管理命令
touch命令
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。mkdir命令
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
在Linux系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
1 | [root@linuxprobe ~]# mkdir linuxprobe |
- cp命令
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
在Linux系统中,复制操作具体分 为3种情况:
- 如果目标文件是目录,则会把源文件复制到该目录中;
- 如果目标文件也是普通文件,则会询问是否要覆盖它;
- 如果目标文件不存在,则执行正常的复制操作。
4.mv命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪 切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是 对其进行重命名:
1 | mv x.log linux.log |
- rm命令
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在rm命令后跟上-f参数来 强制删除。另外,想要删除一个目录,需要在rm命令后面一个-r参数才可以,否则删除不掉。我们来尝试删除前面创建的install.log和linux.log文件:
[root@linuxprobe ~]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe ~]# rm -f linux.log
[root@linuxprobe ~]# ls
[root@linuxprobe ~]#
dd命令 dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格 式为“dd [参数]”。
file命令
file命令用于查看文件的类型,格式为“file 文件名”。
在Linux系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用file命 令来查看文件类型了。
[root@linuxprobe ~]# file anaconda-ks.cfg anaconda-ks.cfg: ASCII text [root@linuxprobe ~]# file /dev/sda /dev/sda: block special
打包压缩与搜索命令
- tar命令
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
Vim编辑器
sudo +操作 :使用root权限执行操作
Linux运行有7个级别0-7级。主要3——登录后进入控制台命令行模式;5——登录后进入图形模式;
VM下切换图形模式与文字模式:图形下alt+shift+Ctrl+F1~F6切换至命令行模式;
man——查看命令使用;
查看ls的使用
1 | man ls |
vi撤回操作:命令行下 u 和 ctrl+r
Linux查询命令帮助
命令是记不完的,但是需要的时候咋办???用查询命令查看
三个命令:man、info、whatis.
使用 man\info\whatis 命令
man
man 用来查询命令的帮助文档
命令的帮助文件有9个章节:
- 用户命令
- 系统调用
- C库调用
- 设备文件及特殊文件
- 配置文件格式
- 游戏
- 杂项
- 管理类的命令
- Linux 内核API
man使用
- man 命令
- man 章节号 命令
whatis
whatis 显示命令的简短描述
whatis 命令
info
Linux软件包管理
软件包分为源码包和二进制包(rpm包、系统默认包)
源码包:需经过编译转换为机器语言后系统才能识别和运行。
优点:1. 开源;2. 自由选择功能;3. 软件是编译安装的,更适合自己的系统,稳定性和效率更高;4. 卸载方便:直接删除源文件即删除干净,而windows不行。
缺点:1. 安装步骤多,容易出错;2. 编译时间长;3. 安装过程报错难以解决。
二进制包:经过了编译的机器语言包,系统能够直接识别和运行——不能看源码、打开是乱码
优点:1. 安装包管理简单;2. 安装迅速
缺点:1. 不可以看源代码;2. 功能选择不自由;3. 依赖性(装某个应用前提需要另一个应用)
RPM包
软件安装
apt
,全称Advanced Packaging Tool
,Linux下的一款安装包管理工具,可以在终端方便的进行安装、卸载和更新。
1 | 1.安装软件 |
sudo
权限使得所有用户都可以使用这个软件。
YUM软件仓库
Yum软件仓库便是为了进一步降低软
件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分
析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安
装到系统。
命令 | 作用 |
---|---|
yum repolist all | 列出所有仓库 |
yum list all | 列出仓库中所有软件包 |
yum info | 软件包名称查看软件包信息 |
yum install | 软件包名称安装软件包 |
yum reinstall | 软件包名称重新安装软件包 |
yum update | 软件包名称升级软件包 |
yum remove | 软件包移除软件包 |
yum clean all | 清除所有仓库缓存 |
yum check-update | 检查可更新的软件包 |
yum grouplist | 查看系统中已经安装的软件包组 |
yum groupinstall | 软件包组安装指定的软件包组 |
yum groupremove | 软件包组移除指定的软件包组 |
yum groupinfo | 软件包组查询指定的软件包组信息 |