2021最新Linux从入门到精通(建议收藏,每日更新)

command + control + f2/f3/f4 分别进入tty1/tty2/tty3
command + control + f1 回到图形化的界面
sudo su    把权限变为根权限
之后输入exit 退出根权限
whoami   当前是那个用户在操作linux
hostname 当前主机名
date    当前时间
ls     列出当前目录下的文件

Linux中可以使用短命令之间进行连接,command -p -a 和
command -pa 是一样的,一般大写和小写是不一样的,并且常参数和短参数是可以一起用的 command -pa --pppaa(假设这是一个长参数命令),短参数赋值之间在后面加个空格后再加一个数字,长参数则是加=后加数字

输入命令的时候,按2次tab可以进行补全
control + r 可以进行搜索,主要是用来搜索你之前用过的命令
history 列出你之前输入过的命令(序号前面加一个!就可以再次使用这个命令)
control + l  清理屏幕,相当于clear
control + d  退出命令行
control + a  跳到命令行的开始
control + e  跳到命令行的结尾
control + u  删除光标的左边
control + k  删除光标的右边
control + w  删除光标左边的一个单词,一般是有空格
control + y  用来粘贴你用前面那几个命令删除的文本,相当于剪切复制
Linux中bin文件是用来存放二进制文件的
boot包含于linux启动相关的文件
dev     外设信息的文件
etc     系统的配置文件
lib     被程序调用的库文件
media   外设(usb,光盘)
sbin    系统二进制文件
tmp     普通用户存放临时文件的地方
pwd     看当前进入到哪一个文件里面了,也就是查看当前的位置
which + 参数  显示出你这个参数命令在那个位置(比如which pwd)就可以知道pwd在linux中的哪里
Linux中以点开头的文件是隐藏文件
.表示当前目录 ..表示当前目录的上一级的目录
-l     显示文件和目录的详细列表,一般都与ls一起使用
-h     命令显示出来给人看的更舒服
-t     按文件最后一次修改的时间排序
ls -lath 这些命令是可以在一起使用的
cd + 目录    最重要的命令之一了,去到那个目录或者文件中
cd ../.. 就是回到当前节点的父目录的父目录
cd     什么都不加,直接回到家目录
du     显示目录的大小,相比于ls -l,它才是真正的统计文件大小的
du -a  显示目录和文件的大小(这个就是让那些隐藏的出来,其实结果和du的是一样的)
-s     只看当前目录的总大小,不看其他的东西
cat    一次显示文件的所有的内容
-n     在显示文件的时候给一个序号
less   显示文件的内容,和cat的区别就是它是一页一页的显示文件,当输入后,按下空格,读取下一个屏幕的显示文件,回车键,就是往下一行,d键前进半个屏幕,b键后退一页,y后退一行,u后退半页,q停止读取,终止less命令,在终止前你输入一个=,会返回你当前的位置,/进入搜索模式,当使用/搜索后,按n可以到下一个查到的值,大写的n是跳到上一个
head   显示文件的开头的几行,后面加-n 就可以自己指定显示几行了
tail   和head正好相反,tail -f 追踪文件的更新
control + c 终止大部分的命令
touch  创建文件,如果文件名字有空格的话,可以用双引号来包括整个名字(可以一次创建多个文件,文件要是有了,就不会在创建了)
mkdir  创建一个目录(相当于文件夹)-p 可以递归的创建目录 mkdir - p one/two/three,就是在one文件下创建two,two下面创建three
cp     拷贝文件或者是目录(copy a,b 就是把a的内容传给b)cp -r 就是递归的把文件拷贝给一个文件,也就是把当前的文件里面所有的东西都copy,也就是你只要向传一个目录里面还有目录的内容,那么就需要用到-r
*被称为通配符,也就是可以匹配所有的,cp*.txt folder,把所有的以.txt的文件都拷贝到folder,cp aa* folder,把所有的aa开头的文件都传给folder
mv     移动文件或目录,重命名文件(把前面的移动到后面)
rm     删除文件或者目录 - i 在每一次删除的时候,都会通知你是否要删除,-r 进行递归的删除,可以用来删除目录







创建目录:

ln   创建链接
硬连接:使链接的2个文件共享同样的文件内容,就是同样的inode,
只能创建指向文件的硬连接,不能创建指向目录的硬连接
软连接:就可以创建指向文件或目录的链接

ln file file2  之间创建了file2和file的硬连接,不需要去创造文件,直接就可以使用,这里使用ls -i 就可以看到他们2个共同的inode,删除其中的一个的话,另外一个不会出现问题
ln -s   创建软连接,软连接的inode是不一样的,ln -s a b 让b来指向a,可以删除b,但不能删除a



用户与权限:

sudo su   得到root权限,之后exit就可以退出
useradd   添加新用户,但是只能在root下才行
passwd    修改密码,后面直接加用户名就可以了。比如我的后面加crhshcoding
userdel    删除用户,用户会被删除,但是它所在的目录的文件夹还在,我们使用-r 就是把这个目录文件也会删除*

群组的管理和文件权限的管理

groupadd    创建群组
usermod     修改用户账户 -l 重命名  -g修改用户所在群组,后面先加群组,在加用户,如果我们使用-G,把一个用户给多个群组,但是这里都是直接移动文件,如果想多加一个,那么在加个-a
groups       后面加用户名,直接看当前用户在那个群组
groupdel    删除群组
chown       改变文件的所有者,我在a用户创造的文件,可以传给b,但是只能在root下使用,直接加想传递给的用户,最后加文件的名字,后面加-R,就是递归的进行修改,它所包含的子目录和文件
chgrp         改变文件的群组,用法大致

在普通用户的家目录下,使用ls -l之后,最前面有d开始的就是目录,l 表示的是链接,r表示可读,w表示可修改,x表示可运行,如果有-,那就表示没有这个权限,出来的第一个位置为-,则表示文件为普通文件
chmod       修改文件的访问权限,不需要到根目录下,谁拥有这个资源,谁就可以使用这个,我们一般ls -l,会出现3个rwx,第一个为是啥文件,后面就是这些rwx,这里我们可以用数字来代表,4表示读,2表示写,1表示可运行。组合一下6就代表可读可写,所以我们可以只使用3个数字就能表示3个rwx
chmod + 数字 +文件名字  (-R表示递归的给它的子目录)
u表示所有者,g表示群组,o表示其他的用户,a表示所有的用户
chmod  u +rx file (这里一定要有加,当然也可以是减)给所有者的file文件rx权限


nano文本编辑器

终端输入 nano  打开nano文本编辑器

nano +文件名字 用nano打开这个文件,但是需要它是可查看的,
如果不存在,那么它就会创造一个这个文件

nano -m 激活鼠标
nano -i 激活自动缩进
nano -A 之后按下home,会自动的根据一行的开始来不断的跳动
之后我们可以去创建一个文件来配置nano,nano .nanorc

sudo nano /etc/nanorc  我们进入到nano的系统配置里面去
,可以修改它的配置信息。

sudo nano /etc/bashrc 我们可以去用nano去修改终端的配置信息

sudo nano /etc/profile 就是进入tty那些图形界面的修改信息,
要是忘记了tty,只需要看最前面的就OK。

source .bashrc 或者其他的这种用法,就是是配置命令直接生效,
不需要重启。

软件仓库

linux中的软件安装包后缀是rpm(这里是centos,其他的会稍有不同)
yum是linux的默认包管理器
yum update      升级软件包(只能在root使用,前面加个sudo,也可以在其他目录使用)
yum  search     搜索软件包
yum  install       下载软件
yum  remove    删除软件

RTMF阅读那该死的手册

sudo mandb    更新手册
man +  你想知道的东西   进入查找,按q退出
这里需要注意的是要看的懂man里面的一些英语的意思

apropos     用来查找你要找的内容的代表的命令,比如我想调节
音量,我不知道它在终端的命令,但是我知道sound为音乐,所以我使用apropos sound

其实在大部分命令中,我们可以在后面加-h,这样就可以看这个命令的帮助文档
whatis      是什么,也就是man的简化版


查找文件

locate  + 文件   查找文件

locate有缺陷,他不是在整个文件上去找,而是去数据库中找,
所以刚刚创建的文件直接是找不到的,我们只能等一天数据库才会进行缓存,这个时候我们可以使用updatedb,强制系统更新,
这样就可以直接使用了。

find    直接去查找整个硬盘,find找到文件后就可以去去操作这个文件了
find -name"xxx" 查找xxx文件
find /var/log -name "syslog"   在/var/log的指定目录下去找文件syslog

find /var -size +10M   在/var 目录下,查找大小为10m的文件,
如果使用把那个+变成-,那么就是小于这个大小的文件

type  是类型,type d  目录类型,表示文件,这是在最后面使用的,
也就是find /var -size +10M -type d. 就是在上面的基础上查找是目录的文件

find /var -size +10M -type d -delete 这样就是删除你查找到的文件
-exec  可以后接一个命令,对查找到的每一个文件进行操作

find one -name "*.txt" -exec chmod 600{}\;
就是查找one目录下所有的以txt文件结尾的文件的权限变为600,
后面括号\直接带上就OK


正则表达式和数据操作

grep    全局搜索一个正则表达式并打印
例子:grep path /etc/profile 在/etc/profile目录下去找文本包含path的
文件,如果中间有空格,那么就使用双引号,默认区分大小写,
-i 就忽略大小写 -n 显示行号 -v 只显示文本不在的行(正好相反)
-r 在所有的子目录和子文件中寻找
rgrep 就相当于 grep -r
-E 使用正则表达式 grep -E ^path /etc/profile,这里就使用了正则表达式
(具体的正则表达式还是值得去学的,爬虫也会用的到)

sort   排序,后面加文件名字,直接对文件的内容进行排序
sort -o 目的文件 要排序的文件    单纯的sort只是把排序后的东西给你传到了页面上,
-o后加文件名字,自己设定将排序后的结果传到那个文件
sort -r  反向排序
-R       随机排序
-n        对数字进行排序

wc  加文件名  对文件进行统计,还可以用来统计行数,字符数
命令输入后会出现3个数字,分别代表行,单词,字节
-l  只统计行数
-w  统计单词数
-c   统计字节数
- m 统计字符数

uniq  删除文件中重复的一行 
后面直接写文件就可以 但是如果想把文件放到另外一个地方,那
就可以直接在后面在加一个文件的名字
-c    统计重复的行数
-d    只显示重复行的值

cut  剪切
cut -c  2-4 name.txt 剪切name.txt文件,只看2到4个字符

cut命令的进阶

管道:
就是把一个命令的输出当作另外一个命令的输入

cut -d , -f 1 a.txt 这个d的作用就是分割的
作用,就是以,为界限分割,这也可以使用?。这些东西来进行
分割,-f是要看那个区域。1代表第一个,之前的,2代表第2个,后面的
想要一次看多个部分的话,可以在在f后面写12这样,就可以看
多个了。如果写1-,这样的话,那就代表要1到最后的全部的内容。

cut -d , -f 2 notes.csv > students.txt  这就是在当
前目录下将cut欧得到的文本给到students.txt中,这个命
令是直接在当前目录下新建这个文件,然后在传文本。如果
已经存在这个文件,那就覆盖掉原来的文件的内容。

如果使用的是>>,那么作用就是追加的作用,如果有这个文件,就直
接将新的东西加到文件的最后,如果没有新的文件,还是和以前一样。

linux中有一个黑洞文件,它总是空的,你可以把不想要的东西丢到这里。/dev/null

stdin  标准输入,也就是从终端上接收,标准输入流。
stdout 标准输出
stdrr  终端输出错误信息

我们之前使用的 > 只是适合于标准输入,当我们要见会产生错误信
息的信息读入到一个文件的时候,我们需要使用2 > ,这里的错误
信息也就是你访问的信息不存在,这些类似的信息。2 >>就是输入
到文件的末尾。

2>&1 这个一般在cut > 的后面使用,就是如果我这个命令出错了,
那么将出错的信息写入到我指定的文件中,2>&1后面不加东西。当然
也不一定是cut,> >>都可以使用在很多的东西。

输入重定向

 <  用于指定命令的输入
 << 将键盘的输入重定向给某个命令的输入
 
 sort -n << end 这个的作用就是一直进行输入,
 然后对输入的进行排序,当输入为end的时候结束,
 这个end是自己设置的。
 这个命令也可以和之前>之类的合并使用。

管道符号

|建立命名管道
将2个命令连接起来,一个命令的输出位一个命令的输入,
也就是我当前的一个命令的结果,再进行其他的操作。

进程和系统检测

输入w命令后就可以得到很多用户相关的信息,其中的load average
就是负载平衡,它会出现3个值,分别是1515分钟的平衡负载,

tload 会出现一个随时间变化的负载图

ps   显示当前系统中的进程(它是一个静态的,不会随着
时间而更新) 得到的pid是进程号,TTY 进程运行所在的终端,
time是运行的多久,产生这个进程的程序名
ps -ef  列出所有用户的所有的进程
ppid程序的父进程号
-efH 按照乔木的状态来列出所有的进程
ps -u 列出此用户运行的进程,后面加一个用户
ps -aux 这个就像任务管理器一样,可以列出占用的cpu,内
存的百分比,也可以查看当前进程的状态。
ps -aux --sort -pcpu | less 按照cpu使用率的从高到低
继续排序
ps -aux --sort -pmem | less 按照内存来进行排序
pstree  以树形结果显示进程


操作进程和系统重启

top  显示进程的动态列表
q  退出top
h  帮助文档
u  输入你想看的用户

glances  我已经安装好了,可以直接使用这个命令来看当前用户
详细的网络,cpu,内存的一些情况
htop 和前面的差不多,但是它要好看一些

control + c 关掉当前正在运行的进程
control + shift + c 复制
kill    结束一个指定进程,后接进程的pid
-9   立刻强制的结束这个进程
killall  结束所有的进程,这里后面需要加程序的名字

halt  关闭系统 (必须在root下)
reboot 重启系统 (也要在root下)
poweroff  关闭系统(这个在普通用户就可以使用)


管理前后台的进程

在一个命令的最后加 & 这样就是让命令在后台当中运行,不显示
在前台的终端中,可以使用kill命令来结束这个命令。

但是&有一个很大的缺点,那就是它总是和终端相关联,只要终端
关闭或者是用户退出,那么进程就是自动退出。

nohup 是终端和进程分离,这样就解决了上面出现的问题,它要
放在命令的最前面。所以它就可以与&命令一起配合使用。

control + z 暂停进程的运行,将进程放入后台。

bg 将命令放入后台,如果已经在后台,就让它在后台运行。(
会默认的作用最近的一个进程)如果在后面加12这些数字,就
是指定的运行哪个进程。

linux中进程有5种状态,运行(r) 中断(s) 不可中断(d)
僵死(进程已经终止,但进程的描述符还存在,直到进程调用wait
(4)函数后将进程释放)(z)
停止(t)

jobs  显示当前终端里面的后台进程状态
fg    是命令转到前台去运行(和bg正好相反,后面加的东西也
差不多)


请添加图片描述
将这个图片理解好了,这一小节其实也就学好了。

任务的定时和延期

date "+%H" 显示当前的小时
date "+%H:%M:%S" 
at 后面加一个时间 比如说1322,回车之后我们再输入我们想
要在那个时刻执行的命令就OK,之后按下control + d 就会退出
还可以指定更具体的时刻 at 13:12 12/10/19 191210号
at + now +10 minutes 10分钟之后执行命令
atq  列出正等待执行的at任务
atrm 删除正在等待执行的at任务,但是后面要接任务的一个编号。

touch file.txt;sleep 15;rm file.txt 创建文件15秒后
删除这个文件。
crontab  定时执行程序,用来读取或修改为crontab的文件
-l 显示文件
-e 修改文件(这里可以稍微查一下资料,看看具体的内容格式)
-r 删除文件
cron用于实际执行定时的程序




请添加图片描述
文件的解压和压缩

首先使用tar将多个文档归档为一个总的文件archive,然后使用
然后使用gzip或者bzip2将archive进行压缩成一个更小的文件。

tar -cvf  a.tar a 就是a是有多个文件的文件夹,我们将a
全部合并到a.tar里面去。
tar -tf显示归档里面的内容,后面加归档的名字。
tar -raf追加文件到文档里面去
tar -xvf 解开归档
.tar.gz 是用gzip压缩后的文件的后缀名
.tar.bz2 用bzip2命令压缩后的文件后缀名

gzip 后价归档名  直接进行压缩
解压的话就用gunzip,bunzip这两个命令,那个可以直接从
名字看出来。

tar 同时完成归档和压缩
tar -zcvf sorting.tar.gz sorting/ 就是将sorting文
件里面的文件先进行归档变成一个准备被压缩的文件,然后直接被
压缩为sorting.tar.gz 

tar -zxvf sorting.tar.gz 和上面一样,直接一步到解压文件夹。
zat 显示用gzip压缩的内容

ubzip,unrar 解压zip文件和rar文件
用zip -r sorting.zip sorting/  压缩sorting文件为zip

 

编译安装软件
它的基本的流程是 先下载源代码,解压压缩包,配置,编译,安装。
当我们在centos的软件仓库中找不到文件的时候,可以先去软件的官网找.rpm的安装包。

sudo alien -r xxx.deb   将dep转化为rpm
sudo rpm -i xxx.rpm
rar a xxx.rar sorting/  压缩
unrar e xxx.rar           解压

查看ip信息:

ifconfig
ip addr 

安全的文件传输与同步:

wget url      //下载文件
wget -c url   //之前的下载被中断了,就使用这个来恢复下载
scp file1 file2 //网络之前的拷贝,将file1拷贝到file2(跨网络的文件的传输)
scp scp.txt root@192.168.1.12:/root  //将scp.txt文件给到root@192.168.1.12的根目录下
scp root@192.168.1.12:/root/success.txt other.txt
//从指定电脑上指定目录下载文件到当前电脑的当前目录
scp 默认端口号是22 -p 77就是修改端口号

使用ftp的2种情况:
1 从公有的ftp下载
2 从私有的ftp上传或者下载

ftp -p ftp.fr.debian.org  //进入法国的一个ftp服务器
用户名一般为 anonymous,密码随便输入
进入后的命令和使用linux的命令很像
在进入后输入命令的前面只要加! 那么就是在终端上运行命令

get filename   //从ftp服务器上下载文件到当前目录下
put fielname   //向服务器上传文件
deliete        //删除
control + d    //断开链接
sftp  安全加密的ftp 默认端口是22,和ssh是一样的,-oPort可以修改端口。
sftp -oPort 3592 oscar@ip
rsync  同步备份,主要用于远程的同步文件

有点类似于升级的scp
rsync -arv Images/backups/ 将images的所有的文件全部放到backups文件里面。
默认的rsync的源文件和文件在删除方面不是同步的,也就是在源文件删除,不会在文件上删除。
rsync -arv --delete //这样就达到了同步删除的操作

ip地址

host + 域名   // 会得到ip地址

修改主机名
打 /etc/hosts
whois  了解域名相关的信息(后面加域名)
ifconfig 显示或者配置网络设备
sudo ifconfig enp0s3 up 激活这个网卡
sudo ifconfig enp0s3 down 关闭这个网卡

网络统计

netstat -i  //网络接口的统计信息
netstat -uta //列出所有开启的连接



  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值