7天入门Linux

经过一个星期学习,Linux终于入门了,在这里小记下~

=====================分割线=============================

Ubuntu常用命令:
ctrl+shift+= 放大控制台
ctrl+- 缩小控制台
--操作目录的几种命令
ls:查看目录下所有文件
pwd:查看所在目录
cd:切换目录
mkdir 文件夹名:创建文件夹
touch 文件名:创建文件名
rm 文件名:删除文件
rm -r 目录名:删除目录
clear:清屏
--命令规范
command [-options] parameter
~command:命令
~options:选项,可填可不填
~parameter:参数,可以是零个或多个
例如删除目录命令: rm -r 目录名

--查询终端命令帮助
command --help
man command
例如: mkdir --help
针对man command的几个命令:f是像后滚屏,b是向后滚屏, 空格是是向后滚屏,enter是滚动一行。
ps -fe:grep 端口/名称。 查看进程状态和进程所属用户。

--常用快捷键
tab键:可以自动补齐命令
ctrl+c:结束当前命令输入

touch .11.txt : 创建隐藏文件
ls -a:查看隐藏文件
ls -l:查看文件详细信息,包括大小,创建时间
ls -l -h:查看文件详细信息,和ls -l的区别是显示的更直观
*:通配符,*代表所有省略字符。 比如: 1* 就会把开头为1的文件和文件夹都查询出来。
?:通配符,?代表一个省略字符。比如: 2?.txt 就会把2开头并且省略一位的文件查询出来,比如 21.txt。
[]:匹配括号中指定内容通配符。比如:[1,2]23.txt 会把1和2开头的 123.txt和 223.txt文件匹配到。 另外还可以[1-3]23.txt 会把1到3开头的匹配到。


cd . :访问当前目录
cd ..:访问上级目录
cd ~ :访问根目录
cd -:目录直接来回切换

相对路径:相对于当前目录的路径,路径前面没有/和~
绝对路径:路径是写死的,路径前面有 /和~


touch 文件名:对于已经存在的文件名会修改文件的创建日期,没有的话会创建
mkdir -p 文件名/文件名...:连续创建多个文件
rm -f 文件名:强制删除一个文件

tree:显示当前文件下面的文件结构
tree 目录名:显示指定目录下的文件结构
tree -d:只显示目录结构不显示文件

cp 源文件 目标文件:复制文件,比如 cp ~/Test/1.txt ./1.txt,这样就将Test目录下的1.txt复制到了当前文件夹下。
cp -i 源文件 目标文件:复制文件,如果文件要覆盖的话会提示是否覆盖,我们输入y或者n进行选择
cp -r 源文件 目标文件:复制目录
mv 源文件 目标文件:剪切文件,如果文件已经存在则视为修改文件名称
mv -i 源文件 目标文件:剪切文件,同时校验是否已经存在

cat 文件名:查看文件内容 (将文件内容全部显示)
cat -b 文件名:显示行号,只计算不为空的行
cat -n 文件名:显示行号,显示所有行号包括空行
more 文件名:查看文件内容(显示一页内容,按空格或者f查看下一页,按b查看上一页,按enter查看下一行,按q结束查看)

grep 关键字 源文件:在文件中搜索
grep -n 关键字 源文件:在文件中搜索并显示指定行号
grep -v 关键字 源文件:显示不包含关键字的行
grep -i 关键字 源文件:搜素关键字并忽略大小写
grep ^关键字 源文件:搜索以关键字开头的行
grep 关键字$ 源文件:搜索以关键字结尾的行

free 查看内存

echo 文字:在终端输出文字
文字 > 文件名: 将文字保存在文件中,这个会发生覆盖现象。 比如 echo hello > a.txt 这样就创建a.txt并保存了hello内容。
文字 >>文件名: 将文字追加到文件中,这个不会发生覆盖。 比如 echo world >>a.txt 这样就把world追加到了a.txt文件下


命令 | grep 关键字 :管道,把第一个命令的输出通过管道传递给后面的命令,当作第二个命令的搜索条件
命令 | more :管道,把第一个命令的输入,当作第二个命令的显示


shutdown -r now:立即重启系统,如果不输入now的话默认一分钟关闭
shutdown now:立即关闭系统,如果不输入now的话默认一分钟关闭
shutdown +5:5分钟后关闭系统
shutdown 8:11:8点11关闭系统
sudo shutdown -r:通过远程软件重启服务器

ifconfig:查看网卡信息
ping 网址:查看网址是不是通


-- 控制台连接shh
ssh [-p port] 用户名@远程地址:使用ssh连接远程服务器,ssh默认端口是22,如果没有任何修改的话-p port可以去掉
exit:退出用户登陆

--在控制台直接操作传输文件
scp -P 端口号 本地文件 用户名@远程地址:远程目录 :将本地文件拷贝到远程,注意这里的P是大写
scp -P 端口号 用户名@远程地址:远程目录 本地目录:将远程目录拷贝到本地目录。
scp -r 本地文件 用户名@远程地址:远程目录 :将本地文件拷贝到远程目录

scp 文件  node2:`pwd`  将文件复制到node2服务器相同位置

使用ftp上传文件注意事项:使用filezilla软件时端口号要指定为21 , 使用FlashFXP 5端口号指定为22

--设置免密操作
切换到.ssh目录下,输入命令 ssh-keygen:配置公钥
ssh-copy-id -p 端口号 登录名@远程地址 :将配置的公钥上传到服务器
这样以后操作就不需要输入密码了。


使用ls -l显示的内容依次是:
drwxr-xr-x 3 shuai7boy shuai7boy 4096 Jul 3 00:11 Desktop
-rw-r--r-- 1 shuai7boy shuai7boy 8980 Jun 8 02:35 examples.desktop
-代表文件 d表示目录
后面wxr什么的三个一组,第一组代表当前拥有者的权限,第二组代表当前组的权限,第三组代表其它人的权限(r表示读,w表示写,x表示执行)
后面数字表示硬连接数,及有多少种方式可以访问该文件,一般文件只有一种,文件夹多种(比如直接通过cd 绝对路径访问,还可以通过cd .和cd ..访问)
再后面依次对应拥有着名称,组名(shuai7boy shuai7boy)
再后面是大小(4096)
再后面是时间(Jul 3 00:11)
再后面是文件名(Desktop)

chmod +/-[r,w,x] 文件名:对文件增加可读,可写或者可执行权限。比如 chmod +r 111.txt 将111.txt加上可读权限
./111.py :执行一个文件,注意前面加上./ 这种格式
chmod -R 752 文件名:递归给拥有用户,用户组,其它用户设置文件可读,可写或者可执行权限。 4代表r,2代表w,1代表x。 然后数字组合表示不同权限。

sudo ...:使用超级管理员权限来执行命令,下面的一些用户操作命令都要加sudo

groupadd 组名:添加组
groupdel 组名:删除组
cat /etc/group:查看组信息
chgrp 组名 文件名:修改文件组信息
chown 用户名 文件名:修改文件所有者信息

--新建用户
uaseradd -m -g 组名 新建用户名:新建用户,-m表示给新建用户创建家目录,-g给用户指定组名
passwd 用户名:给用户设置密码
--删除用户
userdel -r 用户名:删除用户

--查看用户信息
id 用户名:查看用户信息,如果只写id查询的是当前用户的信息
例如:id shuai7boy ->
uid=1000(shuai7boy) gid=1000(shuai7boy) groups=1000(shuai7boy),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
uid表示用户id,gid表示组id,groups表示所在组

查看具体用户信息使用cat /ect/passwd |grep 用户名
例如: cat /ect/passwd |grep shuai7boy
shuai7boy:x:1000:1000:Ubuntu,,,:/home/shuai7boy:/bin/bash //x表示有密码并且加锁了,前面1000表示用户id,后面1000表示组id
查看具体组信息使用:cat /etc/group |grep 用户名
例如:cat /etc/group |grep shuai7boy

who:查看所有登陆的用户
whoami:查看当前登陆的用户

主组:在创建用户的时候就添加的组
附加组:附加的组权限
usermod -G 组名 用户名:修改附加组
usermod -g 组名 用户名:修改主组
usermod -s /bin/bash 用户名:添加base

which 命令:查询命令所在文件
su - 用户名:切换用户,并且切换主目录。su - 后面不加用户名,这样会切换到系统默认的用户,比如root。退出切换用exit。

date:查看系统时间
cal:查看日历

df -h:查看磁盘空间使用情况
du -h[文件名]:查看当前目录空间使用情况

iotop:查看磁盘IO读写。

iotop -o:查看比较高的磁盘读写程序。

uptime:查看报告系统平均时长及平均负载。

--进程相关
ps aux:显示所有进程
ps : 显示当前控制端进行
ps a :显示所有控制端进行进程
(a显示终端所有进程,u表示显示进程的详细信息。x显示没有控制端的进程,比如后台进程)

top:实时显示排序后的cpu,内存占用情况。按q 就可以结束显示
kill [-9] 进程代号:终止指定的进程,-9是强行停止进程

find [文件路径] -name "*.txt":所有以txt结尾的文件,包括子目录

ln -s 源文件绝对路径 快捷方式连接名称:创建软连接,相当于windows里面的快捷方式

--压缩解压缩
gzip操作
tar -cvf 打包文件名称.tar 被打包文件路径//打包操作 打包多个文件的话,后面的文件路径用空格区分出来
tar -xvf 打包文件名称.tar //解包操作
tar -zcvf 压缩文件名称.tar.gz 被压缩文件路径//压缩文件
tar -zxvf 压缩文件名称.tar.gz 被压缩文件路径//解压文件

tar -zcvf 压缩后的文件名 要压缩的文件夹路径  #tar -zcvf test.tar.gz /opt/test    //压缩文件夹


bzip2(two)操作
tar -jcvf 打包文件名称.tar.bz2 被压缩文件路径//压缩文件
tar -jxvf 压缩文件名称.tar.bz2 被压缩文件路径 -C 解压路径//指定解压路径

--安装卸载软件
sudo apt install 软件名:软件名
sudo apt remove 软件名:软件名
sudo apt update 软件名:软件名

--编辑文件,操作文本部分
vi 文件名:打开一个文件,如果文件不存在则会新建一个
vi 文件名 +行号:打开一个文件,并跳转到指定行号。如果+后面不加行号,会自动跳转到末尾行。

命令模式:使用vi进入命令模式的主入口,在命令模式下可以使用跳转指定行,翻页等操作
末行模式:包括文件的保存和退出操作,在控制台输入:wq就退出了,输入:w是保存,输入:q时退出,输入q!强行退出。按esc时返回命令模式
编辑模式:在命令模式下输入i对文件进行编辑,按esc返回命令模式
末行模式命令:
q!:强行退出
w:保存
q:退出
wq:保存退出
x:保存退出

! ls 路径 --在保持文件编辑的状态下查找外部内容,查询完后回车即可回到编辑状态

光标移动命令:h左,j下,k上,l右
w:向后移动一个单词,w指word
b:向前移动一个单子,b指back
0:移动到行首
^:移动到(不包括空行的)行首
$:移动到行尾

gg:移动到文章开头
G:移动到文章结尾
数字 gg/G:移动到指定行
:数字:移动到指定行
ctrl+f:下一页
ctrl+b:上一页
H:上部(H值head)
M:中部(M指middle)
L:下部(L指low)
{:跳转上一段落
}: 跳转下一段落
%:括号间来回切换
m a~z:添加标记,比如添加标记a, ma 'a 在别处'a就会找到a

选中文本(可视模式)
v:从文本出按方向键选中文本
V:选中所在行,按方向键会正行选择
ctrl+v:垂直方向选择文本。

~撤销和恢复文本
u:撤销上一步操作 ,u指的时undo
ctrl+r:取消撤销,r指的redo

~删除命令
x:删除选中的文本,也相当于剪切一段文本
d(移动命令):结合移动命令来删除文本,比如 d w 这样就删除了整个单词,5 d 这样会删除5行
dd:删除所在行
D:删除所在位置到行尾

~复制,黏贴
y(移动命令):复制,英文是copy
yy:复制一行,nyy复制多行
p:黏贴
外部内容剪切:进入到编辑模式,然后邮件粘贴

~替换命令
r:替换一个字符,按小字母后,然后输入替换后的字母
R:替换一个单词,按大写字母R后,输入替换的内容


~缩排和重复执行
>>:向右缩进
<<:向左缩进
.:重复上次命令
注意:选中多行后使用缩进,按一次>或者<就行

~查找内容
/内容:查找内容,按enter键位进行查找,n向下查找,N向上查找
*:查找光标所在内容,向下查找
#:查找光标所在内容,向上查找

~查找和替换
:%s/旧文本/新文本/g :一次性替换文件中所有出现的旧文本
:s/旧文本/新文本/g :先选中,然后替换选中的文本
:%s/旧文本/新文本/gc:确认替换,c指的confirm,选项一次是确认替换,不替换,全部替换,退出替换

~进入编辑命令的六种方式
I:在行首进入编辑
A:在行尾进入编辑
O:在行上面插入一个空行进入编辑
o:在行下面插入一个空行进入编辑


~重复输入内容
1.输入数字3
2.按下i进入编辑命令
3.输入*及重复内容
4.按esc退出编辑,这时会自动渲染三个*
~给多行内容添加注释
1.在要注释的行按0进入到行首
2.按ctrl+v进入到可视块模式,按j向下选择
3.按I进入编辑模式,输入#
4.按esc上面输入的#就会加入的每行前面

~末尾行命令
:w 文件名//将文件另存为,当前正在编辑的文件不会切换
:n 文件名//新建文件
:e .//编辑当前目录下的文件,如果知道名称的话,可以直接:e 名称来进行编辑

~分屏命令
:sp 文件名:横向分屏,s指split
:vsp 文件名:竖直分屏,v指vertical

以下命令先按ctrl+w然后才能操作
w:切换到下一个分屏
r:r指互换分屏
c:关闭分屏

=====================分割线=============================

下面是彩蛋时间(¬◡¬)✧
(´•༝•`)显示指定名称
控制台输入: banner shuai7boy

(´•༝•`)显示一双眼镜
控制台输入: xeyes

(´•༝•`)显示“数字雨”
首先安装: sudo apt-get update; sudo apt-get install cmatrix
然后输入:cmatrix -C green

Linux学习网址推荐:
https://www.runoob.com/linux/linux-tutorial.html

原文地址:https://www.cnblogs.com/shuai7boy/p/11146641.html