Linux命令总结详解

简单常用的一些linux命令

1 ls 查看当前目录下所有文件
2 pwd 查看当前所在路径
3 tree / | more以树目录形式查看根目录下所有内容,more 为分屏显示
4 history 查看以前输入过的命令
5 clear 清屏(快捷键:ctrl + c)
6 cd ~ 切换至家目录
7 cd - 切换至最近一次所在的位置
8 .表示当前路径 …表示上一级目录 cd… 切换到上一级目录
9 ln -s 文件或文件夹名 软链接名
10 ln 文件名 硬链接名(不允许为文件夹创建硬链接)
11 who 查看登录的用户
12 whoami 查看自己是谁
13 sudo -s 或者sudo su( 都是切换到root账户)
14 su - zhangsan(切换到张三用户,-可以切换到用户的家目录,否则不变)
15 $代表普通用户,#代表超级用户
16 shutdown -h now 立即关机/shutdown -r now 立即重启
17 init 0 关机/init 6 (reboot)重启
18 df -h(-h以人性化的方式显示当前磁盘使用情况)
19 du -h 目录名 显示目录占用情况(-h可以显示目录下子目录的占用情况)
20 date 查看系统当前时间(了解即可)
21 cal 4 2019 查看2019年4月的日历
22 ps aux 查看进程的详细状况(加上x会显示很多不是从终端启动的进程内容) 建议使用方式: ps aux | grep python(过滤只显示python正在执行的程序)
23 top 动态显示当前cpu和内存的占用情况(退出top只需按下q键),htop更加直观人性化的显示当前cpu 和内存的占用情况(可能系统没有,需要安装),sl 会显示跑火车的特效,安装命令: sudo apt-get install htop/sudo apt-get install sl(虚拟机需要联网)
24 kill 进程代号(终止代号的进程,加上-9表示强行终止那些杀不掉的进程)
25 ifconfig 查看当前系统网卡信息
26 ping IP地址 查看与某台机器的连接情况
27 netstat -an 查看当前系统的端口使用
28 wc -l 1.txt 统计1.txt的文本行数
29 按上键或者下键可以显示最近输入的命令(ctrl + a 快速跳至命令开头,ctrl + e 快速跳至命令结尾)

以下命令须重点掌握

重定向

输出重定向:
1 >和>>均表示重定向
2 区别 >表示覆盖,>>表示追加
ls > a.txt 将当前目录下的内容放入到a.txt(若a.txt中已有内容,则会覆盖掉原有内容)
ls >> a.txt 将当前目录下的内容追加到a.txt(若a.txt中已有内容,则会在原有内容后面追加)
输入重定向:
1.<和<<都是输入重定向
2.输入重定向相对有些冷门,工作中遇到的几率较小,输入重定向的作用直接把文件导入到命令中。
wc -l < 1.txt 使用输入重定向将1.txt文件导入给wc -l 命令,统计一下文件中的内容行数。

管道

命令A | 命令B 将前一个命令将要输出到屏幕的数据作为后一个命令的输入(管道的命令和作用还有很多,这里只举一个常用的例子)
cat -n /etc/passwd | grep zhangsan 查看根目下的用户信息并筛选出张三的信息(-n显示行号)

按文件/文件夹的增删改查分类:

1 touch a.txt 创建文件a.txt
2 mkdir a 创建文件夹(mkdir b/c/d -p 递归创建b文件夹下的c文件夹下的d文件夹)
3 rm a.txt 删除文件a.txt
4 rm -r a 删除文件夹a
5 rm -rf  文件或文件夹 (强制删除)
6 mv a.txt a 将文件a.txt剪切到文件夹a下
7 mv a.txt b.txt 将文件a.txt重命名为b.txt
8 gedit a.txt和cat a.txt   都是查看a.txt文件内容
9 cat a.txt b.txt 合并显示文件
10 grep -i "he" a.txt  在a.txt中筛选"he" (-i表示不区分大小写,加-n显示行号)
11 find ./ -name "*.txt" 在当前目录下查找以.txt结尾的文件( * 代表任意多个字符  ? 代表任意一个字符)

文件打包/解包

第一种(常用)
 1 tar cvf xx.tar.gz *.txt 打包当前目录下所有以.txt结尾的文件(注意只是打包,并未压缩,文件大小并未变小)
 2 tar xvf xx.tar.gz  -C / 解包xx.tar.gz到根目录(x代表解包,-C 后面跟路径,表示解包到指定位置)
 文件打包压缩(加上-z)
 1 tar -zcvf xx.tar.gz *.txt 打包并压缩当前目录下所有以.txt结尾的文件(注意此时打包并压缩,文件大小变小)
 2 tar -zxvf xx.tar.gz  -C / 解包解压缩xx.tar.gz到根目录(-C 后面跟路径,表示解压到指定位置)
第二种
 1 tar -jcvf xx.tar.bz2 *.txt
 2 tar -jxvf xx.tar.bz2(另一种格式的压缩包,以.bz2结尾)

退出

ctrl + c(不行的话就用exit)

添加/删除/修改组

(以下所有加sudo的命令,若为root用户,则不用加sudo)
sudo groupadd zhangsang  添加zhangsan组
sudo groupdel zhangsang  删除zhangsan组 
( 删除组时,若组中有用户则不能删除,此时要想删除组,必须先删除组中的用户)
cat  /etc/group   查看组
cd Desktop        切换至桌面目录  
mkdir Python学习   在桌面创建Python学习的文件夹(Ubuntu中按shift键切换中文)
ls -l             查看当前Python学习所属的组
sudo chgrp -R dev Python学习 (将Python学习所属的组修改为dev,-R表示递归修改)

创建用户/设置密码/删除用户

sudo useradd -m -g dev zhangsan创建用户并为用户指定组(-m 表示自动为用户创建家目录,-g dev 表示将张三用  户分配至dev组中)
注:若不为用户指定组即:sudo useradd -m zhangsan,则系统会根据用户名为用户添加一个新的组zhangsan
若创建用户时忘记加-m选项,最简单的办法就是删除用户,重新创建
sudo passwd zhangsan     为用户张三设置密码
sudo userdel -r zhangsan 删除用户(-r表示自动删除用户家目录)
id zhangsan 查看用户张三的信息(显示用户代号和组代号)

根目录下的passwd文件
/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息
1.用户名
2.密码(x表示加密的密码)
3.uid(用户标识)
4.gid(组标识)
5.用户全名或本地账号
6.家目录
7.登录使用的shell,就是登录之后,使用的终端命令,ubuntu默认是dash

添加附加组/修改文件所属者

sudo usermod -G sudo zhangsan      (将张三添加到sudo的附加组中,添加之后zhangsan就可以使用sudo的权限了,-G代表附加组)
sudo usermod -s /bin/bash zhangsan (设置用户张三的登录shell,用windows下安装的xshell重新登录张三,就可以看到zhangsan和~开头的信息了)
sudo chown zhangsan Python学习      将Python学习的拥有者修改为zhangsan

文件权限与归属
权限是Linux中的重要概念,每个文件/目录等都具有权限,但是每个文件的类型不尽相同。
1.常见的字符代表的类型如下:
-:普通文件
d:文件夹/目录
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
2.linux系统中,每个文件都有其所归属的用户和组,并规定了其用户,组和其他人对文件拥有的可读®、可写(w)、可执行(x)的权限。
文件权限表格(字符与数字的表示)
在这里插入图片描述
(1)文件权限的字符表示方法:ls -l 查看文件a.txt所属用户的权限
在这里插入图片描述

chmod u+x a.txt 为用户增加文件a.txt的可执行权限
在这里插入图片描述

(2)文件权限的数字表示法:若某个文件的权限为7,则代表可读、可写、可执行(4+2+1=7)若某个文件的权限为6,则代表可读、可写(4+2=6)
chmod 777 a.txt 将文件a.txt的权限改为-rwxrwxrwx,也即给用户、组、其他人对文件a.txt的 可读、可写、可执行的权限(最高权限)
在这里插入图片描述
Vim:
三种模式:
1 ESC键:命令模式
2 :键 进入末行模式
3 i 进入(编辑)插入模式
几种退出:(编辑模式下,按下Esc键进入命令模式后,按下Shift +:,输入x回车,表示保存并提出)
1 :w 保存
2 :wq 保存并退出
3 :x 保存并退出
4 :q 退出(不保存退出)
行内移动:
4 vi hello.py +12 进入hello.py并跳至12行
5 vi hello.py +进入hello.py并跳至末行
6 命令模式下,按下w向后跳转一个单词,按下b向前跳转一个单词
7 命令模式下,按下0跳至行首,按下Shift键+4 跳至行末
8 命令模式下,若是代码前有空格,依然想跳至代码行第一个字母,按下Shift键+6
行数移动:
9 命令模式下,输入go或者gg会直接跳至文件顶部
10 命令模式下,输入G会直接跳至文件末尾
11 命令模式下,6gg会直接跳至代码第六行(6G也一样),还可以通过 :6直接跳至第六行
屏幕移动:
1 ctrl +b 向上翻页
2 Ctrl +f 向下翻页
3 H 屏幕顶部(Head)
4 M 屏幕中间(Middle)
5 L 屏幕底部(Low)
程序移动
1)段落切换
vi中使用空行来区分段落
1 { 向上寻找段落
2 } 向下寻找段落
2)括号切换
% 在成对的括号之间进行切换(Shift键+%)
3)标记
在开发中某一段代码可能需要稍后处理,这是使用m加上一个字母进行添加标记(a-z任意一个即可,如:ma),之后想快速定位到这个位置,只需按下单引号加上该字母(例如:'a)。若是添加了标记的行被删除,则标记被删除
选中文本(可视模式)
1 小写字母v 从光标开始位置进行选中文本(可视模式)
2 大写字母V 选中光标经过的完整行(可视行模式)
3 ctrl +v 垂直方向上选中文本 (可视块模式)
撤销和恢复撤销命令
1 u 撤销上次的命令(undo)
2 ctrl +r 恢复撤销的命令(redo)

猜你喜欢

转载自blog.csdn.net/qq_40808154/article/details/88666976