提示:最全Linux工作常用指令学习
文章目录
- 前景
- 一、Linux环境
- 二、window和Linux之间的数据传输
- 三、常用指令
- 1.Linux目录介绍
- 2.Linux中常用的快捷键
- 3.文件权限的解读
- 3.常用指令
- 1.man指令
- 2.info指令
- 3.whatis指令
- 4.touch指令
- 5.mkdir指令
- 6.rm指令
- 7.rmdir指令
- 8.mv指令
- 9.cp指令
- 10.stat指令
- 11.rename指令
- 12.basename指令
- 13.dirname指令
- 14.chattr指令
- 15.file指令
- 16.md5sum指令
- 17.find指令
- 18.which指令
- 19.whereis指令
- 20.locate指令
- 21.chown指令
- 22.chgrp指令
- 23.chmod指令
- 24.grep指令
- 25.cat指令
- 26.paste指令
- 27.du指令
- 28.df指令
- 29.sync指令
- 30.mount指令
- 31.umount指令
- 32.dd指令
- 33.tar指令
- 34.zip/unzip指令
- 35.gzip/gunzip指令
- 36.uname指令
- 37.hostname指令
- 38.dmesg指令
- 39.uptime指令
- 40.free指令
- 41.service指令
- 42.route指令
- 43.ping指令
- 44.traceroute指令
- 45.ifconfig指令
- 46.netstat指令
- 47.ss指令
- 48.telnet指令
- 49.ssh指令
- 50.ftp指令
- 51.sftp指令
- 52.lftp指令
- 53.wget指令
- 54.scp指令
- 55.useradd指令
- 56.passwd指令
- 57.userdel指令
- 58.su指令
- 59.sudo指令
- 60.id指令
- 61.usermod指令
- 总结
前景
提示:就业方向介绍以及Linux平台介绍:
1.开发
(1)应用开发
桌面程序开发 嵌入式开发 服务器后台开发应用
(2)底层开发
驱动开发 安卓开发 内核开发
2.运维
自动化运维 数据库运维(DBA) 系统运维 大数据运维 网络运维 云计算运维
提示:以下是本篇文章正文内容,下面案例可供参考
一、Linux环境
提示:博主使用的通常是最新版本的VMWare,Linux使用的是ubuntu18以上的版本
1.虚拟机
VMWare:官网
VMWare详细安装教程
Ubuntu详细安装教程
VirtualBox:官网
2.树莓派
缺点:性能相对差;
3.物理机双系统
纯Linux系统
缺点:安装比较麻烦;
4.WSL2
优点:便捷
缺点:东西不全,无界面,性能差;
5.云服务器
华为云 阿里云 腾讯云
优点:稳定,便捷;
二、window和Linux之间的数据传输
1.数据传输:WinSCP软件
2.终端控制:mobaxterm软件
三、常用指令
1.Linux目录介绍
li /
部分目录解释:
bin // 是binary的缩写,该目录下存放大多数常用的命令,如mkdir、dir、ls;
boot //主要存放Liux系统启动时所需的核心文件;
dev //它是device的缩写,主要存放一些关于Linux的设备文件;
etc //存放系统用户的配置文件和子目录;
root //超级用户的主目录;
srv //主要存放一些用于系统启动之后的数据;
usr //主要存放用户的应用程序的文件,相对于window系统的program file文件;
tmp //临时文件的存放位置;
sbin //s指的是超级用户(super user)的简称,主要用于存放一些系统管理员所用到的管理程序;
media //用于自动挂载一些linux系统自动识别的设备,如光驱、U盘等;
home //主要存放用户目录;
lib //它是Library的缩写,主要存放一些动态库,供应用程序使用;
mnt //手动挂载目录,外部硬盘之类的;
run //主要存放一些系统运行时所需要用到的文件;
var //经常被修改的文件主要存放在这,如电子邮件、日志等;
**#Linux文件颜色的含义**
白色 //普通文件,如stdio.h
黄色 //设备文件 如block块、char字符、fifo管道等
青色 //链接文件 如stdio
蓝色 //目录 如Downloads
红色 //压缩文件 如stdio.tar.gz
绿色 //可执行文件 如date
灰色 //其他文件
2.Linux中常用的快捷键
#Tab键的妙用
作用:提示可能的输入命令或路径,补全命令或路径
用法:如果命令或路径唯一,则只需点一次tab键自动补全;否则,需要点击两次tab键列出所有可能的命令或路径。
3.文件权限的解读
意义:drwxrwxrw-,其中从左到右分别表示,第一个rwx表示所有者权限(Owner),第二个rwx表示用户组权限(Gronp),第三个rw-表示其他人权限(Other);
权限类型:r(可读)、w(可写)、x(可执行/切换目录)、-(无权限);
3.常用指令
1.man指令
作用:查看帮助手册
参数:-f(显示给定关键字的简短描述信息),-k(根据关键词搜索帮助手册),-w显示手册文件所在位置;
快捷键:空格键(下翻一页),回车键(下滚一行),j(下滚一行),k(上滚一行),b(回翻一页),f(下翻一页),q(退出),/word(搜索word关键词;
示例:
man cp:查看cp命令的帮助手册;
man -f sleep:查看sleep 命令的简要介绍;
man 3 sleep:查看第3章节的sleep信息;
man 5 passwd:查看passwd文件的详细介绍;
man -w ls:查看ls命令帮助手册所在位置;
man -k disk:搜索跟disk相关的帮助文档。
2.info指令
作用:阅读Info格式的文件
参数:-w(显示info文档的物理位置,-f(指定要访问的info文件),-n(在首个游览过Info文件中指定节点),-O(跳转至命令行选项节点);
快捷键:n(显示下一节点的页面内容),p(显示上一节点的页面内容),I(返回上一个访问节点的页面内容),空格键(向前滚动一页),退格键/del(向后滚动一页),b/e(一个节点内容的开始/结束),h(打开Info教程),回车键(跳转到链接文本),q(退出);
示例:
info ls:查看ls命令的info文档;
info -w ls:查看ls命令info文档的物理位置;
3.whatis指令
作用:查询一个命令执行什么功能,并将查询结果打印到终端上;
语法:whatis 命令;
示例:
whatis sleep:查询sleep命令的功能;
4.touch指令
作用:改变已有文件的时间戳属性,创建新的空文件;
参数:-a(改变文件的读取时间记录),-m(改变文件的修改时间记录),-r(使用参考文件的时间记录,与--file的效果一样),-c(不创建新文件),-d(使用指定的时间记录,格式与date命令相同),--no-creete(不创建新文件);
示例:
touch file.txt:创建一个空文件,前提file.txt不存在;
touch file1.txt file2.txt file3.txt:创建多个空文件;
touch file{1..3}.txt:创建多个空文件;
touch -a file.txt 修改文件的access时间;
touch -m file.txt:修改文件的modify时间;
touch -c nofile.txt:强制避免创建新文件;
touch --no-create nofile.txt:强制避免创建新文件;
touch file.txt -r ref_file.txt:将访问和修改时间从一个文件复制到另一个文件;
touch -d "tomorrow" file.txt:修改文件时间为明天;
touch -t 23091022040.40 file.txt:修改文件时间为任意时间;
5.mkdir指令
作用:创建目录,若目录已经存在,则会提示存在;
参数:-p(递归创建多级目录),-m(建立目录的同时设置目录的权限),-v(显示目录的创建过程);
示例:
mkdir dir1:在当前目录下创建一个名为dir1的子目录;
mkdir dir2 dir3 dir4:创建多个目录;
mkdir dir{5..7}:创建多个目录;
mkdir -p dir7/dir8/dir9:递归创建目录;
mkdir -m 700 dir1/dir10:在dir1目录下建立子目录dir10,并且设置文件权限700;
mkdir -v dir{11,13}:显示目录的创建过程;
6.rm指令
作用:删除文件或目录;
参数:-f(忽略不存在的文件,不会出现警告信息),-i(删除前会询问用户是否操作),-r/-R(递归删除),-v(显示指令的详细执行过程);
示例:
rm file.txt:删除一个文件;
rm -r dir:删除一个目录;
rm -f file.txt:强制删除文件/目录(不提示)
rm -rf*:删除当前目录下所有文件;
rm -i file.txt file2.txt file4.txt:删除前逐一询问确认;
7.rmdir指令
作用:删除空目录;
参数:-p(用递归的方式删除指定的目录路径中的所有父级目录,非空则报错),-v(显示命令的详细执行过程);
示例:
rmdir dir:删除空目录;
rmdir -p dir1/dir2/dir3:递归删除多重目录;
rmdir -v dir:显示指令详细执行过程;
8.mv指令
作用:移动文件,重命名文件;
参数:-i(若存在已有文件,则向用户询问是否覆盖),-f
(覆盖已有文件时,不进行任何提示),-b(当文件存在时,覆盖前为其创建一个备份),-u(当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作);
示例:
mv file.txt/dir:将文件file.txt移动到目录dir中;
mv file.txt newfile.txt:将file.txt重命名为newfile.txt;
mv dir1 dir2:将目录dir1移动到目录dir2中,前提时目录dir2中已存在,若不存在则改名);
mv -f file1.txt file2.txt:将文件file1.txt改名为file2.txt,如果file2.txt已经存在,则覆盖;
mv -i file1.txt file2.txt:将文件file1.txt改名为file2.txt,如果file2.txt已经存在,则询问是否覆盖;
mv -b file1.txt file2.txt:文件被覆盖前备份;
mv -u file1.txt file2.txt:源文件比目标文件新时才执行更新;
mv *--/:移动当前文件夹下的所有文件到上一级目录;
mv dir3/* dir2:将当前目录的一个子目录里的文件移动到另一个子目录里;
9.cp指令
作用:复制文件或目录;
参数:-f(若目标已存在,则会覆盖),-i(若目标文件已存在,则会询问是否覆盖),-a(通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容),-r(递归复制文件和目录),-b(覆盖已存在的文件目标前将目标文件备份),-v(详细显示cp命令执行的操作过程);
示例:
cp file1.txt file2.txt:复制文件;
cp -r dir1 dir2:复制目录;
cp -i file1.txt file2.txt:复制文件,若目标文件已存在,则询问是否覆盖;
cp -f file1.txt file2.txt:复制文件,若目标文件已存在,则直接覆盖,不提示;
cp -b file1.txt file2.txt:复制文件,若目标文件已存在,则先进行备份;
cp -a dir1 dir2:复制目录,并且保留源目录所有属性都一致;
10.stat指令
作用:显示文件或文件系统的详细信息;
参数:-L(支持符号链接),-f(显示文件系统的信息),-t(以简洁的方式输出);
三种时间:
atime:access time 访问时间,即读取文件(more/less/cat/tail)、修改文件(vim/nano)时改变;
mtime:modify time 修改时间,即修改文件(vim/nano)时改变;
ctime:change time 状态改变时间,即修改文件(vim/nano)、文件属性变化(chmod/chown)时改变;
示例:
stat file.txt:查看文件file.txt的信息;
stat -f file.txt:查看file.txt文件所在文件系统信息;
stat -t file.txt:以简洁方式输出信息;
11.rename指令
作用:用字符串替换的方式批量改变文件名;
参数:-n(模拟运行,实际命令没进行重命名),-v(输出每步执行信息),-f(强制改写);
示例:
rename 's/.txt/.doc/' myfile.txt:将myfile.txt改写myfile.doc;
rename -n 's/file/file0/' myfile.txt:模拟将file1.txt,file2.txt,file3.txt改写为file01.txt,file02.txt,file03.txt;
rename -v 's/file/file0/' myfile.txt:实际更改上一步,并输出执行过程信息;
12.basename指令
作用:提取文件路径名的文件名;
参数:-a(支持处理多个文件),-s(删除指定后缀);
示例:
basename /etc/passwd:提取文件名;
basename /usr/local/ :提取目录名(删除最后的/);
basename -a /etc/passwd /usr/local/:提取多个输入;
basename -s .conf /etc/sysctl.conf:删除指定后缀;
basename /etc/sysctl.conf .conf:删除指定后缀;
13.dirname指令
作用:去除文件名中的非目录部分;
示例:
dirname /usr/bin/cat:提取文件的路径;
dirname /home/anpingyang/commands/:提取目录的路径;
14.chattr指令
作用:更改文件属性;
参数:-R(递归处理目录下的所有文件),-v(设置文件或目录版本),-V(显示指令执行过程),+(开启文件或目录的该项属性),-(关闭文件或目录的该项属性),=(指定文件或目录的该项属性);
示例:
chattr +i file.txt:防止某个关键文件被修改;
chattr -i file.txt:解锁;
chattr +a file.txt:只允许文件追加内容(对日志文件特别有用);
chattr -R +i dir:对一个目录中的所有文件添加限制;
lsattr file.txt :查看文件属性
15.file指令
作用:识别文件类型;
参数:-b(列出文件类型,不显示文件名称),-c(详细显示指令执行过程),-f(指定名称文件,显示多个文件类型信息),-L(直接显示符号连接所指向的文件类别),-m(指定魔法数字文件),-z(尝试去解读压缩文件的内容),-i(显示MIME类别);
示例:
file file.txt:查看文件的类型;
file dir:查看文件的类型;
file /dev/sda:查看文件的类型;
file -b file.txt:查看文件类型,但不显示文件名;
file -i file.txt:显示MIME类别;
file /dev/cdrom:查看某个符号链接文件(快捷方式)的类型;
file -L /dev/cdrom:直接查看某个符号链接文件(快捷方式)所对应的目标文件的文件类型;
16.md5sum指令
作用:生成和校验文件的md5值;
参数:-b(以二进制模式读取文件),-t(以文本模型读取文件内容),-c(根据已生成的md5值,对现有文件进行校验),--status(校验完成后,不生成错误或正确的提示信息,可以通过命令的返回值来判断);
示例:
md5sum file.txt:生成file.txt文件的md5值;
md5sum -b file.txt:不同模型计算同一个文件的md5值;
md5sum -t file.txt:
md5sum file.txt>file.md5:将生成md5值重定向到指定的文件;
md5sum -c file.md5:md5校验;
md5sum -c --status file.md5:md5校验,不显示任何输出,用返回码表示成功与否;
echo $?:用于显示上一行代码的结果;
17.find指令
作用:搜索指定文件;
参数:(参数过多,直接参考示例进行使用);
示例:
sudo find / -name *.conf:全盘搜索系统中所有以.conf结尾的文件;
sudo find /etc -size +lk:在/etc目录中搜索所有大约1k大小的文件;
sudo /home -user anpingyang:在/home目录中搜索所有属于指定用户的文件;
sudo . -type f:搜索当前目录下所有的文件;
sudo . find -perm 664 -exec ls -l {}\;:搜索当前目录下所有权限为664的文件,并列出来;
sudo find .:列出当前工作目录中的所有文件、目录以及子文件信息;
sudo find . -iname "*.txt":在当前目录下搜索所有指定后缀的文件,后缀不需要大小写;
sudo find . !-name "*.txt":在当前目录下搜索所有后缀不是.log的文件;
sudo find . -mtime -7 -exec rm -i {}\;:搜索当前工作目录中的所有7天内别修改过的文件,并删除;
18.which指令
作用:查找命令文件所在位置
示例:
which bash:查找文件所在位置
which Is:查找文件所在位置
which fdisk:查找文件所在位置
19.whereis指令
作用:查找命令的二进制程序、源代码文件和man手册页等相关文件的路径;
示例:
whereis Is:查找ls命令的程序路径和man手册页位置;
whereis -b ls:查找ls命令的二进制程序路径;
whereis -m ls:查找ls命令的man手册页路径;
20.locate指令
作用:快速查找文件或目录;
示例:
locate file.txt:查找系统中所有file.txt文件;
locate /etc/sh:搜索路径中包含/etc/sh的文件;
locate whereis:查找和whereis相关的所有文件;
locate -i locate/f:查找/home/AnpingYang/commands/locate/目录下所有以f开头的文件,不区分大小写;
21.chown指令
作用:改变文件或目录的用户和用户组;
示例:
sudo chown alvin:alvin file.txt:改变file.txt文件的所属主与所属组;
sudo chown alvin file.txt:只改变file.txt文件的所属主;
sudo chown :alvin file.txt:只改变file.txt文件的所属组;
sudo chown -c anpingyang:anpingyang file.txt:改变指定文件的所属主与所属组,并显示过程;
sudo chown -R alvin:alvin dir:改变指定目录及其内子文件的所属主与所属组;
22.chgrp指令
作用:更改文件用户组;
示例:
sudo shgrp -v alvin file.txt:改变文件的用户组,并显示命令执行过程;
sudo chgrp --reference=reffile.txt file.txt:根据参考文件改变文件的用户组;
sudo chgrp alvin file.txt:改变文件的用户组;
sudo -R alvin dir:将dir及其子目录下的所有文件的用户组改为alvin;
23.chmod指令
作用:只有文件的属主和超级用户root才能执行此命令,即改变文件或目录权限;
参数:
u:即user,文件所有者;
g:即group,文件所有者所在组;
o:即others,所有其他用户;
a:即all,所有用户,相当于ugo;
+:为指定的用户类型增加权限;
-:去除指定用户类型的的权限;
=:设置指定用户权限的设置,即将用户类型的所有权限重新设置;
r:可读;
w:可写;
x:可执行;
示例:
chmod a+r file.txt:将文件file.txt设置为所有人都可读取;
chmod -R a+r *:将当前目录下所有文件及递归目录文件设置为所有人可读取;
chmod u+x file.txt:将file.txt设置为只有该文件拥有者才可以执行;
chmod ug+w,o-w file.txt:将file.txt设置为文件拥有者及同组人员可写入,但其他人不可写入;
chmod a+r,a+w,a+x file.txt:将file.txt设置为所有人都可读可写可执行;
chmod 777 file.txt:将file.txt设置为所有人都可读可写可执行;
chmod 755 file.txt:将file设置为文件拥有者可读可写可执行,此外的其他人可读可执行;
chmod u=rw,go=file.txt:将file.txt设置为文件拥有者可读可写,此外其他人都没有任何权限;
24.grep指令
作用:文本搜索工具
-i:忽略大小写
-c:只输出匹配行的数量;
-l:只列出符合匹配的文件名,不列出具体的匹配行;
-n: 列出所有的匹配行,显示行号;
-h:查询多文件时不显示文件名;
-s:不显示不存在、没有匹配文本的错误信息;
-v: 显示不包含匹配文本的所有行;
-w: 匹配整词;
-x:匹配整行;
-r:递归搜索;
-q:禁止输出任何结果,已退出状态表示搜索是否成功;
-b:打印匹配行距文件头部的偏移量,以字节为单位;
-o:与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位;
-F:匹配固定字符串的内容;
-E:支持扩展的正则表达式;
示例:
grep anpingyang/etc/passwd:搜索某个文件中,包含某个关键词的内容
grep anpingyang/etc/passwd /etc/shadow:搜索多个文件中,包含某个关键词的内容
grep -h anpingyang /etc/passwd /etc/shadow: 搜索多个文件中,包含某个关键词的内容,不显示文件名称
grep -rl hello *:递归搜索,不仅搜索指定目录,还搜索其内子目录内是否有关键词文件
grep -c root /etc/passwd /etc/shadow:输出在某个文件中,包含某个关键词行的数量
grep -i ANPINGYANG /etc/passwd:忽略大小写
grep -n anpingyang /etc/passwd:在文件中查找要搜索的内容,并显示行号
gred -v anpingyang /etc/passwd:反向查找
grep -l hello *:搜索当前工作目录中,包含某个关键词内容的文件,未找到则提示
grep -x hello file1.txt:搜索某个文件中,精准匹配到某个关键词的内容
grep -q hello file1.txt:判断某个文件中,是否包含某个关键词,通过返回状态值输出结果(0为包含,1为不包含),方便在Shell脚本中判断和调用
25.cat指令
作用:在终端显示文件内容
参数:-n :显示行数(空行也编号);-S:去除重复的空行;-b :显示行数(空行不编号);-E:每行结束处显示$符号;-T:将TAB字符显示为|符号;
示例:
cat file.txt:查看 file.txt文件内容;
cat filel.txt file2.txt:查看多个文件内容;
cat -n file.txt:查看 file.txt 文件内容,并显示行数编号;
cat -s file.txt:去除重复的空行;
cat file.txt>flel.txt:重定向文件内容,如果filel.txt不存在,则创建,并且内容会被覆盖;
cat file.txt >> fileltxt:重定向文件内容,如果filel.txt不存在,则创建,并且内容会被追加到末尾;
cat fileltxt file2txt > combinedfile.txt:将filel.txt和file2.txt 合并为一个文件;
cat > file.txt:使用cat创建文件(按键 Enter 入文本,完成后按CRTL+D保存文件);
26.paste指令
作用:合并两个或多个文件;
参数:
-d :默认域的分隔符是空格或tab键,设置新的域分隔符;
-s :将每个文件粘贴成一行;
- :从标准输入中读取数据;
示例:
paste filel.txt file2.txt:将filel.txt和file2.txt粘贴成一个新的文件;
paste file2.txt filel.txt:顺序不一样,结果不一样;
paste filel.txt file2.txt file3.txt:多文件拼接;
paste -d":" filel.txt file2.txt:设置域分隔符为:粘贴成新的文件;
paste -d":" -s fileltxt file2.txt:将每个文件粘贴成一行;
ls|paste -d"" ----:从标准输入中读取数据,每行显示4个文件名;
27.du指令
作用:查看磁盘使用空间;
参数:
-a:显示目录中所有文件大小;
-h :以易读方式显示文件大小;
示例:
du:列出当前目录下所有文件和目录的容量大小;
du -h dir:以易读方式显示 dir 文件夹及其子文件夹大小;
du -ah dir:以易读方式显示dir 文件夹内所有文件大小;
du file.txt:显示文件 fle.txt 所占用的磁盘空间;
du -s dir:仅显示目录的总大小;
du --max-depth=0 dir:仅显示目录的总大小;
du -sh dir:显示指定目录下每个文件或目录的容量大小,并且以易读方式显示;
28.df指令
作用:显示磁盘空间使用情况;
参数:-a :显示所有文件系统,包含所有的具有 0 Blocks的文件系统;
-h:以容易阅读的方式显示;
-i :显示inode信息;
-t:<文件系统类型>只显示指定类型的文件系统;
-T:输出时显示文件系统类型;
示例:
df:显示磁盘空间使用情况;
df-h:以易以阅读的方式显示磁盘空间使用情况;
df /home:显示指定文件/目录所在分区的磁盘使用情况;
df -t squashfs:显示指定文件类型的磁盘便用情况;
df -i:以inode模式来显示磁盘使用情况;
df -a:显示所有信息;
df -T:列出文件系统的类型;
29.sync指令
作用:强制将更改的内容立刻写入磁盘;
30.mount指令
作用:把文件系统挂载到目录;
参数:
-o:挂载方式:loop:用来把一个文件当成硬盘分区挂接上系统;ro:采用只读方式挂接设备;rw:采用读写方式挂接设备;iocharset:指定访问文件系统所用字符集;
-t:指定挂载类型;
示例:
mount:查看当前系统中挂载的所有文件系统信息;
mount -t tmpfs:查看指定类型挂载的文件系统;
sudo fdisk -I:将U盘挂载到指定目录;
sudo mount /dev/sdb /mnt/udisk:将U盘挂载到指定目录;
sudo mount -o ro /dev/sdb /mnt/udisk:只读模式挂载;
sudo mount -o loop /home/anpingyang/command/mount/mydisk.iso /mnt/iso:将iso镜像挂载到/mnt/iso目录;
31.umount指令
作用:卸载文件系统;
参数:-v:执行时显示详细的信息;
示例:
umount -v /dev/sdb:通过设备名卸载;
umount -v /media/anpingyang/ALVIN/:通过挂载点卸载;
32.dd指令
作用:拷贝及转换文件
参数:
if=文件名 :输入文件名,默认为标准输入。即指定源文件。
of=文件名 :输出文件名,默认为标准输出。即指定目的文件。
ibs=bytes :一次读入bytes个字节,即指定一个块大小为 bytes个字节。
obs=bytes :一次输出 bytes 个字节,即指定一个块大小为 bytes个字节。
bs=bytes :同时设置读入/输出的块大小为 bytes个字节。
cbs=bytes :一次转换 bytes个字节,即指定转换缓冲区大小。
skip=blocks :从输入文件开头跳过blocks个块后再开始复制。
seek=blocks :从输出文件开头跳过 blocks 个块后再开始复制。
count=blocks :仅拷贝 blocks 个块,块大小等于ibs/obs 指定的字节数。
conv=<关键字> :指定关键字;
示例:
dd if=/dev/zero of=filel.txt bs=500M count=1:生成一个指定大小(500M)的新文件;
dd if=file2txt of=dfile2txt bs=50 count=1:拷贝指定文件的前50个字节;
dd if=file3txt of=dfile3.txt conv=ucase:拷贝指定文件的内容,并将所有字符转换成大写后输出到新文件中;
dd conv=ucase (按ctrl+d结束):由标准输入设备读入字符串,并将字符串转换成大写后,再输出到标准输出设备;
33.tar指令
作用:打包/解压工具;
参数:
-c:新建打包文件;
-x:解压文件,配合-C 解压到对应的文件目录;
-f:(压缩或解压时)指定要处理的文件;
-j:通过bzip2方式压缩或解压,最后以tarbr2为后缀。压缩后大小小于.tar.gz;
-z:通过gzip方式压缩或解压,最后以tar.gz为后缀;
-v:显示操作过程;
-t:查看打包文件中内容;
-C:dir 指定压缩/解压缩的目录,若无指定,默认是当前目录
示例:
tar -cvf files.tar *.txt:将当前目录下所有.txt文件打包(未压缩),并显示操作过程;
tar-zcvf files.tar.gz *.txt:打包文件之后,使用gzip 方式压缩;
tar -zxvf files.tar.gz:解压文件到当前目录;
tar-zxvffiles.tar.gz -C dir:解压文件到家目录下;
tar -tf files.tar.gz:列出压缩包里的内容;
34.zip/unzip指令
作用:压缩/解压文件;
参数:
zip:-r:递归处理,将指定目录下的所有文件和子目录一并处理;-v:显示指令执行过程;-d:更新压缩包内文件;
unzip:-l:显示压缩文件内所包含的文件;-v:显示指令执行过程;-d<目录>:指定文件解压缩后所要存储的目录;
示例:
压缩:
zip -r dir.zip dir:将指定目录及其内全部文件都打包成zip格式压缩包文件;
zip files.zip *.txt:将当前目录下所有txt文件全部压缩成files.zip;
zip -dv files.zip newfile.txt:将newfiletxt添加到files.zip压缩包;
解压:
unzip -l files.zip:查看压缩文件中包含的文件;
unzip -v files.zip:查看显示的文件列表还包含压缩比率;
unzip -t files.zip:检查zip文件是否损坏;
unzip files.zip:解压files.zip到当前目录;
unzip files.zip -d udir/:解压files.zip到指定目录;
35.gzip/gunzip指令
作用:压缩/解压文件;
参数:
-d:解开压缩文件;
-k :保留原文件;
-l:列出压缩文件的相关信息;
-r :递归处理,将指定目录下的所有文件及子目录一并处理;
-v:显示指令执行过程;
-t: 测试压缩文件是否正确无误;
示例:
gzip file.txt:压缩指定的文件,原文件将被删除;
gzip -r dir:压缩指定的目录;
gzip -I filetxt.gz:显示指定压缩包的压缩信息;
gzip -dv file.txt.gz:解压指定的压缩包文件;
gunzip -v file.txt.gz:解压指定的压缩包文件;
gzip -dr dirgz:递归解压目录;
gunzip -r dir.gz:递归解压目录;
gzip -k file.txt:压缩指定的文件,原文件不被删除;
gunzip -t file.txt.gz:测试指定的压缩包文件内容是否损坏,能够正常解压;
36.uname指令
作用:显示系统信息;
参数:
显示系统所有相关信息
-m :显示计算机硬件架构;
-n :显示主机名称;
-r :显示内核发行版本号;
-s :显示内核名称;
-V :显示内核版本;
-p:显示主机处理器类型;
-o :显示操作系统名称;
-i :显示硬件平台;
示例:
uname -a:显示系统主机名、内核版本、硬件架构等信息;
uname -n:仅显示主机名;
uname -r:仅显示内核发行版本;
uname -s:仅显示内核名称;
uname -i:仅显示当前系统的硬件平台;
uname -o:打印操作系统类型;
37.hostname指令
作用:显示和设置系统的主机名;
参数:
-a :显示主机别名;
-d :显示DNS域名;
-f :显示FODN名称;
-i :显示主机的ip地址;
-s :显示短主机名称,在第一个点处截断;
-y :显示NIS城名;
示例:
hostname :显示主机名;
hostname newname:临时改变主机名;
hostname -I:显示主机的所有IP地址;
38.dmesg指令
作用:显示开机信息;
参数:
-c:显示信息后,清除ring buffer中的内容;
-s:<缓冲区大小> 预设置为8196,刚好等于ringbuffer的大小;
-n:设置记录信息的层级;
示例:
dmesg:显示开机信息;
dmesg | less:显示开机信息;
dmesg | grep-i memory:显示和内存、硬盘、USB、TTY相关的信息;
dmesg | grep -i dma:显示和内存、硬盘、USB、TTY相关的信息;
dmesg | grep -i usb:显示和内存、硬盘、USB、TTY相关的信息;
dmesg | grep -i tty:显示和内存、硬盘、USB、TTY相关的信息;
dmesg -x :显示信息级别emerg、alert、crit、err、warn、noticeinfo、debug;
dmesg --level=err,warn:只输出特定级别的信息;
dmesg -T:显示时间戳;
dmesg -r:显示原始数据;
sudo dmesg -c:清空dmesg环形缓冲区中的日志;
39.uptime指令
作用:查看系统启动时间及负载信息;
参数:-p:显示机器正常运行的时间;
-s :系统启动时间,格为yyyy-mm-dd hhmm:ss;
示例:
uptime:显示当前系统运行负载信息;
uptime -p:显示系统正常运行时间;
uptime -s:显示系统启动时间;
40.free指令
作用:显示系统内存使用情况;
参数:
-b:以Byte显示内存使用情况;
-k:以kb为单位显示内存使用情况;
-m:以mb为单位显示内存使用情况;
-g:以gb为单位显示内存使用情况;
-s :持续显示内存;
-t:显示内存使用总合;
-h: 以易读的单位显示内存使用情况;
输出简介:
Mem行(第二行)是内存的使用情况;
Swap行(第三行)是交换空间的使用情况;
total列显示系统总的可用物理内存和交换空间大小。;
used 列显示已经被使用的物理内存和交换空间;
free 列显示还有多少物理内存和交换空间可用便用。;
shared列显示被共享使用的物理内存大小;
buff/cache列显示被 buffer和cache 使用的物理内存大小。;
available 列显示还可以被应用程序使用的物理内存大小。;
示例:
free:以默认的容量单位显示内存使用量信息;
free -m:以MB位单位显示内存使用量信息;
free -h:以易读的单位显示内存使用量信息;
free -hs 3:以易读的单位显示内存使用量信息,每个3秒刷新一次;
41.service指令
作用:控制系统服务;
参数:
--status-all :显示所服务的状态;
stat:启动服务;
stop:停止服务;
restat :重新启动服务;
status:查看服务运行状态;
reload:重新载入服务配置;
示例:
service --status-all:查看系统中所有服务现在的运行状态;
service sshd status:查看sshd运行状态;
service sshd start:启动sshd服务;
service sshd stop:停止sshd服务;
service sshd restart:重启sshd服务;
42.route指令
作用:显示并设置路由;
参数:
-n:不要便用通讯协定或主机名称,直接便用IP或 port number;
-net:表示后面接的路由为一个网域;
-host:表示后面接的为连接到单部主机的路由;
netmask:与网域有关,可以设定netmask决定网域的大小;
gw: gateway的简写,后续接的是IP的数值喔,与dev不同;
dev:如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0等;
flag:
U :Up表示此路由当前为启动状态;
H :Host,表示此网关为一主机;
G :Gateway,表示此网关为一路由器;
R :Reinstate Route,使用动态路由重新初始化的路由;
D :Dynamically此路由是动态性地写入;
M :Modified,此路由是由路由守护程序或导向器动态修改;
! :表示此路由当前为关闭状态
示例:
route:显示当前路由;
route -n:显示当前路由;
route add -net 224.0.0.0 netmask 240.0.0.0 dev ens33:添加网关/设置网关;
route add -net 224.0.0.0 netmask 240.0.0.O reject:添加网关/设置网关;
route del-net 224.0.0.0 netmask 240.0.0.0:屏蔽一条路由;
route del -net 224.0.0.0 netmask 240.0.0.0reject:删除路由记录;
43.ping指令
作用:测试主机间网络连通性;
参数:
-c:指定发送报文的次数;
-i:指定收发信息的间隔时间;
-s:设置数据包的大小;
-t:设存活数值TTL的大小:
Linux系统的TTL值为64或255;
WindowsNT/2000/XP系统的TTL值为128;
Windows 98系统的TTL值为32;
UNIX主机的TTL值为255;
示例:
ping www.bing.com:测试与www.bing.com 网站的连通性;
ping -c4 www.bing.com:连续ping 4次;
ping -c 4-i3 www.bing.com:连续ping 4次,间隔了秒;
ping 192.168.117.08:测试局域网连通性;
ping -s1024-t255 www.bing.com:设置数据包为1024字节,TTL为255;
44.traceroute指令
作用:追踪数据包在网络上的传输时的全部路径;
参数:
-m<存活数值> :设置检测数据包的最大存活数值TTL的大小;
-n :直接使用IP地址而非主机名称;
-p<通信端口> :设置UDP传输协议的通信端口;
-q :探测包个数设置;
-r :忽略普通的Routing Table,直接将数据包送到远端主机上;
-w :设置等待远端主机回报的时间;
示例:
traceroute www.baidu.com:追踪本地数据包到百度的传输路径;
traceroute -m 7 www.baidu.com:跳数设置;
traceroute -n www.baidu.com:显示IP地址,不查主机名;
traceroute -q 4 www.baidu.com:把探测包的个数设置为值4;
traceroute -w 3 www.baidu.com:把对外发探测包的等待响应时间设置为3秒;
traceroute -p 6888 www.baidu.com:探测包使用的基本UDP端口设置6888;
traceroute -r wwwbaidu.com:绕过正常的路由表,直接发送到网络相连的主机;
45.ifconfig指令
作用:显示网络设备信息;
参数:
add<地址> :设置网络设备IPv6的IP地址;
del<地址> :删除网络设备IPv6的IP地址;
down :关闭指定的网络设备;
up :启动指定的网络设备;
IP地址 :指定网络设备的IP地址;
示例:
显示网络设备信息:ifconfig
关闭/打开指定网卡:
ifconfig eth0 down
ifconfig eth0 up
配置IPV4 地址:
ifconfig eth0 192.168.1.56#为网卡etho配晋IP地:192168120.56
ifconfig eth0 192.168.1.56 netmask 255.255.255.0#加上子网掩码
ifconfig eth0 192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255#再加上广播
为网卡配置和删除IPv6地址:
ifconfig ethO add 33ffe:3240:800:1005::2/64#为网卡设置IPv6地
ifconfig eth0 del 33ffe:32408001005264#为网卡删除IPv6地址
修改MAC地址:
ifconfig eth0 down
ifconfig ethO hw ether 00:AA:BB.CC:DD:EE
ifconfig ethO up
启用和关闭ARP协议:
ifconfig eth0 arp #开启
ifconfig eth0 -arp # 关闭
设置最大传输单元:
ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为1500bytes
46.netstat指令
作用:显示网络状态;
参数:
-a :显示所有连线中的Socket;
-o :显示正在使用Socket的程序识别码和程序名所;
-l :仅列出在监听的服务状态;
-t :显示TCP传输协议的连线状况;
-u :显示UDP传输协议的连线状况;
-i :显示网络界面信息表单;
-r :显示路由表信息;
-n :直接使用IP地址,不通过城名服务器;
示例:
netstat -a:显示系统网络状态中的所有连接信息;
netstat -at:显示系统网络状态中的TDP连接信息;
netstat -au:显示系统网络状态中的UDP连接信息;
netstat -p:输出中显示 PID 和进程名称;
netstat -l:只显示监听端口;
netstat -lt:只列出所有监听 tcp 端口;
netstat -lu:只列出所有监听udp 端口;
netstat -lx:列出所有监听 UNIX 端口;
netstat -s:显示所有端口的统计信息;
netstat -st/netstat -su:显示TCP或UDP端口的统计信息;
netstat -apu:显示系统网络状态中的UDP连接端口号使用信息;
netstat -i:显示网卡当前状态信息;
netstat -r:显示网络路由表状态信息;
netstat -ap|grep ssh:找到某个服务所对应的连接信息;
47.ss指令
作用:显示活动套接字信息;
示例:
ss -at:显示TCP套接字
ss -au:显示UDP套接字
ss -S:显示套接字使用概况;
ss -l:列出所有打开的网络连接端口;
ss -pl:查看进程使用的socket;
ss -lp|grep 6010:找出打开套接字/端口应用程序;
ss -tnl:查看主机监听的端口;
ss -tlr:解析IP和端口号;
48.telnet指令
作用:远程登陆服务器;
示例:
telnet 192.168.102.133:登录远程主机;
telnet 192.168.102.133 24:指定端口;
49.ssh指令
作用:远程连接工具;
参数:
-l<登录名》:指定连接远程服务器的登录用户名;
-p<端口> :指定远程服务器上的端口;
配置文件:
/etc/ssh/sshd_config
示例:
ssh 192.168.0.10:登陆远程服务器;
ssh -l anpingyang 192.168.0.10 \ssh anpingyang@192.168.0.10:以anpingyang身份远程登陆服务器;
ssh -p 2222 liangxu@192.168.0.10:指定端口及用户名登陆服务器;
ssh 192.168.0.10 date:远程执行命令;
50.ftp指令
作用:文件传输协议客户端;
增加ftp写权限:
第一步: sudo gedit /etc/sftpd.conf
第二步:去除#writeenable=YES前的#
第三步: sudo service vsftpd restart
示例:
安装ftp:
sudo apt install vsftpd
建立FTP连接:
ftp 192.168.157.133
下载一个文件:
get file.txt
下载多个文件:
mget filel.txt file2.txt
上传一个文件:
put newfile.txt
上传多个文件:
mput newfilel.txt newfile2.txt
51.sftp指令
作用:交互式的文件传输程序;
示例:
使用SFTP进行连接服务器:
sftp anpingyang@192.168.7.133
指定端口连接:
sftp-P 30 anpingyang@192.168107.133
查看sftp支持的命令:
help
?
从远程服务器下载文件到本地:
get file.txt
从远程服务器下载目录到本地:
get -r dir
从本地上传文件到远程服务器:
put newfile.txt
从本地上传目录到远程服务器:
put -r newdir
执行本地Shell命令:
!command
!echo hello world
退出:
bye
exit
52.lftp指令
作用:一款优秀的文件客户端程序;
示例:
登陆远程服务器:
lftp anpingyang@192.168.1.12
查看lftp支持的命令:
help
?
从远程服务器下载文件到本地:
get file.txt
mget file*.txt
mget -c *.txt
从远程服务器下载目录到本地:
mirror dir
从本地上传文件到远程服务器:
put newfile.txt
mput newfile*txt
从本地上传目录到远程服务器:
mirror -R newdir
退出:
bye
exit
53.wget指令
作用:文件下载;
参数:
-i :下载指定文件里列出的地址;
-o :下载后重命令文件;
-c :打开断点续传;
-b :启动后转入后台执行;
-P :指定保存路径;
示例:
使用wget下载单个文件:
wget https://cn.wordpress.org/latest-zhCN.zip
使用wget下载多个文件:
vim urllisttxt
wget -i urllist.txt
下载后以不同的文件名保存:
wget -O wp.zip https://cn.wordpress.org/latest-zhCN.zip
下载后保存到指定目录:
wget -P dir https://cn.wordpress.org/latest-zh_CN.zip
wget限速下载:
wget --limit -rate=300k https//cnwordpress.org/latest-zhCN.zip
打开断点续传功能:
wget-c https://cn.wordpressorg/latest-zhCN.zip
使用wget后台下载:
wget-b https://cn.wordpress.org/latest-zhCNzip
tail -f wget-log#看下载进度
54.scp指令
作用:远程拷贝文件;
参数:
-r :递归复制整个目录;
-p :保留原文件的修改时间,访问时间和模式;
-P :指定数据传输用到的端口号;
示例:
从远程复制文件到本地
scp anpingyang@192168.2.06:/home/anpingyang/commands/scp/file.txt ~
从远程复制目录到本地
scp -r anpingyang@192.168.2.06:/home/anpingyang/commands/scp/dir/ -
上传本地文件到远程机器指定目录
scp ~/newfile.txt anpingyang@192.168.2.06:home/anpingyang/commands/scp/
上传本地目录到远程机器指定目录
scp -r-/newdir anpingyang@192.168.2.06:home/anpingyang/commands/scp/
使用指定的端口号传输数据
scp -P 2222 anpingyang@192.168.2.06/home/anpingyang/commands/scp/file.txt ~
保留文件的最后修改时间及访问时间
scp -p anpingyang@192.168.2.06:/home/anpingyang/commands/scp/file.txt
55.useradd指令
作用:创建并设置用户信息;
参数:
-d<登入目录> :指定用户登入时的目录;
-g<群组> :初始群组。
-G<群组> :非初始群组
-m :自动创建用户的家目录
-M :不要创建用户的家目录
-N :不要创建以用户名称为名的群组
-s :指定用户登入后所使用的shell。;
四个重要文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
示例:
直接创建新用户:
useradd user1
常用创建方法:
useradd -m -s /bin/bash user2
自动创建家目录:
useradd -m username
指定家目录:
useradd -m -d /new/dir username
指定用户ID:
useradd -u 1500 username
指定组ID:
useradd -g group username
分配多个组:
useradd -g group -G groupl,group2 username
指定登录shell:
useradd -s /bin/bash username
自定义注释:
useradd -c "Test User Account" username
56.passwd指令
作用:修改用户的密码;
参数:
-d :删除已有密码;
-l :锁定用户的密码值,不允许修改;
-u :解锁用户的密码值,允许修改;
-e :下次登陆强制修改密码;
-k :用户在期满后能仍能便用;
-S :查询密码状态;
案例:
修改当前登录用户的密码值
passwd
修改指定用户的密码值
passwd anpingyang
锁定指定用户的密码值,不允许其进行修改
passwd -l anpingyang
解锁指定用户的密码值,允许其进行修改
passwd -u anpingyang
强制指定的用户在下次登陆时必须重号其密码
passwd -e anpingyang
删除指定用户的密码值
passwd -d anpingyang
查看指定用户的密码状态
passwd -S anpingyang
57.userdel指令
作用:删除用户账户;
参数:
-r 删除用户主目录及其中的任何文件;
示例:
删除指定的用户账户信息:
userdel anpingyang
刚除指定的用户账户信息及家目录:
userdel -r anpingyang
58.su指令
作用:切换用户身份;
参数:
- :完全身份变更;
-C :执行完指定的指令后,即恢复原来的身份;
-f :适用于csh与tsch,使shell不用去读取启动文件;
-l :改变身份时,也同时变更工作目录;
-m :变更身份时,不要变更环境变量;
-s :指定要执行的shell;
示例:
切换超级用户:
su
su root
变更帐号为alvin并在执行whomai指令后退出变回原使用者:
su -c whoami alvin
变更帐号为alvin并保留在当前工作目录:
su alvin
变更帐号为alvin并改变工作目录至alvin的家目:
su -alvin
59.sudo指令
作用:以系统管理员的身份执行指令;
参数:
-l :个显示当前用户的权限;
-u<用户> :以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
配置文件:
/etc/sudoers :
授权用户/组 主机=[(切换到哪些用户或组命令;
查看配置文件:
sudo visudo
sudo vim /etc/sudoers
示例:
列出当前用户的权限:
sudo -l
指定用户身份执行命令:
sudo -u alvin whoami
以root 权限执行上一条命令:
sudo !!
60.id指令
作用:显示用户ID和组ID
参数:
-g :显示用户所属群组的ID;
-G :显示用户所属附加群组的ID;
-n :显示用户,所属群组或附加群组的名称;
-r :显示实际ID;
-u :显示用户ID;
示例:
显示当前用户的所有信息:
id
显示指定用户信息:
id alvin
显示用户所属群组的ID:
id -g alvin
显示用户所属附加群组的ID:
id -G alvin
61.usermod指令
作用:修改用户账号信息;
参数:
-c<备注> :修改用户账号的备注文字;
-d<登入目录> :修改用户登入时的家目录;
-e<有效期限> :修改账号的有效期限;
-f<缓冲天数> :修改在密码过期后多少天即关闭该账号;
-g<群组> :修改用户所属的群组;
-G<群组> :修改用户所属的附加群组;
-l<账号名称> :修改用户账号名称;
-L :锁定用户密码,使密码无效;
-s<shell> :修改用户登入后所使用的shell;
-u<uid> :修改用户ID;
-U :解除码锁定;
示例:
修改指定用户的家目录路径:
usermod -d /home/hometest alvin
修改指定用户的UID号码:
usermod -u 1234 alvin
修改指定用户的名称:
usermod -l harry alvin
锁定指定用户的账户:
usermod -L alvin
解锁指定用户的账户:
usermod -U alvin
总结
提示:这里对文章进行总结:
常用指令主要方便Linux开发者的使用;