Linux命令及使用

Linux下常用命令:

  • 设置分辨率:
# 查看支持的分辨率
xrandr
# 输入要修改的分辨率值,-s保存
xrandr -s 1920X1200
# 查看历史命令
history
# 使用历史命令,以历史命令第75个为例
!75
# ll命令参数后面加上-h 可以将文件大小的字节数转换为更直观的k、M、G、的形式
ll -h
# 创建一个管道文件
# 格式:mkfifo 文件名
mkfifo fifo
# 安装vim编辑器
sudo apt-get install -y vim
:'
使用vim编辑器步骤
	1.vim 文件名
	2.进入vim编辑器之后,输入i进入编辑模式
	3.之后可以进行编辑
	4.按Esc键退出,输入":"号
	5.底部":"出现输入wq,保存并退出

其他命令:
q退出,不保存
q!强制退出
'
  • Linux环境下设置C/C++的编译环境
# 下载编译环境
sudo apt-get g++ -y
  • 终端提示符格式
 $:代表当前用户为“普通用户”
 #:代表当前用户为“root”用户(管理员) - -使用命令:sudo su  输入密码,即可切换到root用户

常用快捷键

  • Tab键的使用
    补齐命令
    补齐路径
    显示当前目录下的所有目录
  • 清屏
    clear作用为清除终端上的显示,快捷键“Ctrl+L”
  • 中断进程
    Ctrl+C
  • 遍历输入的历史命令
    从当前位置向上遍历:ctrl+p 或者 (↑)
    从当前位置向下遍历:ctrl+n 或者 (↓)
  • 光标相关操作
    光标左移:ctrl+b 或者(←)
    光标右移:ctrl+f 或者 (→)
    移动到头部: ctrl + a 或者 (Home)
    移动到尾部: ctlr + e 或者 (End)
  • 字符删除
    删除光标前边的字符:ctrl + h 或者 (Backspace)
    删除光标后边的字符:ctrl + d
    光标后边的字符即光标覆盖的字符
    删除光标前所有内容:ctrl + u
    删除光标后所有内容:ctrl + k

使用命令安装软件

# 安装“aptitude”软件:
sudo apt-get install aptitude
#查看指定软件是否安装:
sudo aptitude show xxx软件名。查看该xxx软件,是否安装
#安装“tree”软件:
sudo apt-get install tree 或 sudo aptitude install tree
#安装“sl“软件:
sudo apt-get install sl 或者 sudo aptitude install sl

ls -l参数的7部分

在这里插入图片描述

  1. 前10个字符
    1.第一个字符:文件类型。
    2. 后9个字符:文件的访问属性
  2. 硬连接计数
  3. 文件所有者
  4. 文件所属组
  5. 文件大小
    1.对于普通文件,直接存储实际大小
    2.对于目录文件,是目录所占的磁盘空间大小。–4k的整数倍。
  6. 文件的创建、修改时间
  7. 文件名

文件类型

  • Linux操作系统中,有7种文件类型
  1. 普通文件:使用"-"表示。
  2. 目录文件:使用"d"表示。
  3. 软连接文件:使用小写"L"表示。(软连接相当于windows下面的"快捷方式")
  4. 管道文件:使用"p"表示。pipe
  5. 套接字文件:使用"s"表示。socket
  6. 字符设备文件:使用"c"表示。character
  7. 块设备文件:使用"b"表示。block
  • 后4种文件,是"伪文件",不占用磁盘(硬盘)存储。
  • 前3种文件,是真正的文件,消耗磁盘存储。

文件的访问属性

  • 一共由9个字符组成,分为3组。每组rwx,没有对应权限,使用"-"占位
  • 3组:依次是:“所有者”、“所属组”、“其他人”
    • 所有者:创建该文件的用户
    • 所属组:默认,A用户产生后,自动产生A用户组,将A用户,添加到A用户组。
    • 其他人:既不是所有者、也不是所属组。就为其他人
  • r:读权限
  • w:写权限
  • x:执行权限

图片描述

其他文件操作命令

创建空文件
touch 文件名
# Linux系统中,不以后缀名作为区分文件的依据。
# touch a.b.c.d是合法的命名方式
创建空目录
mkdir 目录名
# 依次创建多级目录。使用-p选项
mkdir -p a/b/c/d
which

查看命令对应的可执行文件所在目录位置

which解释

rmdir
# 用来删除空目录,目录非空不能删除
rmdir d  # 要求d必须为空
rm

rm命令删除的文件,不能恢复!!!

# 常用参数
-r:递归。删除多级子目录中的内容。--目录操作,必须添加该参数
-i:与用户交互式删除。
-f:强制操作。删除。
cp
# 语法:cp 参数A 参数B
:'
	参数A文件
		参数B,是目录,且目录存在:将A文件,拷贝放到B目录中
		参数B不存在,且不是目录:将A文件,拷贝生成B。
		参数B不存在,是目录。报错。
		参数B,是已存在文件,A覆盖B!
	参数A目录
		必须添加参数:-r或-a
			-r:递归。相当于新建文件。
			-a:ALL。拷贝时,带有文件默认属性。
'
mv
:'
	1.mv命令操作目录时,不需要额外参数
	2.作用1:改名
		mv 源文件 目标文件。 目标文件不存在,直接改名。
	3.作用2:移动
		mv 源文件 目标目录。目标目录存在。移动。
'
cat
:'
	cat 文件名:查看文件内容,打印到屏幕上。
	cat 文件名1 > 文件名2
		文件名2如果不存在,新建。将文件名1的内容写入。
		文件名2如果存在,将文件名1的内容覆盖。
	cat 文件名1 << 文件名2
		文件名2如果不存在,新建。将文件名1的内容写入
		文件名2如果存在,将文件名1的内容追加到文件名2中
	tac 文件名
		将文件的内容倒序输出。
'
大文件查看命令
:'
	more 文件名
	作用:查看大文件。分屏显示
		按Enter多显示一行
		按Space多显示一屏
		↑↓按键不起作用
		按q退出查看
	less 文件名
		按Enter多显示一行
		按Space多显示一屏
		↑↓按键起作用
		按q退出查看
	tail 文件名
	作用:查看文件的后5行
	tail -5 vimrc
	head 文件名
	作用:查看文件的前5行
	head-5 vimrc
'
ln命令

硬链接

# 特性:源文件和硬链接文件之间,有"同步更新"的特性
# 创建硬链接的语法:
ln 源文件名 硬链接文件名
# 原理:体现Linux系统管理文件的方式--数字化管理
# 查看文件的inode号
stat 文件名
ls -i 文件名
# 删除文件时,硬链接计数 -1。

不能给目录创建硬链接!

软链接

# 软链接创建语法:
ln -s 源文件名 软链接文件名
# 建议创建软连接时,使用绝对路径。防止搬移之后出错!
# 可以给目录创建"软链接"
wc

显示文件行数,字节数,单词数

# 显示文件的总行数
wc -l 文件名
# 显示文件的总字节数
wc -c 文件名
# 显示文件的总单词数
wc -w 文件名
whoami

作用:显示当前登陆的用户名

用户权限、用户、用户组

修改文件权限

文字设定法:

# 命令:
chmod [who][+|-|=] [mode] 文件名
	# 操作对象[who]
		u -- 用户(user)
		g -- 同组用户(group)
		o -- 其他用户(other)
		a -- 所有用户(all)[默认]
	# 操作符[+ - =]
		+ -- 添加权限
		- -- 取消权限
		= -- 赋予给定权限并取消其他权限
	# 权限[mode]
	r -- 读
	w -- 写
	x -- 执行
	# 示例:给文件file.txt的所有者和所属组添加读写权限
	chmod ug+wr file.txt

数字设定法

# 命令:
chmod [who][+|-|=] [mode] 文件名
# 操作符[+ - =]
		+ -- 添加权限
		- -- 取消权限
		= -- 赋予给定权限并取消其他权限
# 读、写、执行所对应的数字		
r -- 4
w -- 2
x -- 1
# 每组的权限范围在0-7
# 举例:给文件file.txt的所有者和所属组添加读写权限
chmod 660 file.txt

添加删除新用户和新用户组

# 添加新用户
sudo adduser 新用户名
sudo addgroup 组名
# 依次输入信息,确认密码
# 查看用户
	:'
	/home目录下,多出新用户的 宿主目录。
	可以在图形界面使用新用户登录。
	在/etc/passwd文档的末尾处,新增 新用户相关信息(用户uid、用户组gid、宿主目录、默认解析器)
	在etc/group文档中,新增 用户组相关信息
	'
	# 删除用户
	sudo deluser 用户名
	sudo delgroup 组名
	# 系统默认,删除用户的同时,会清除用户组。
	:'
	/etc/passwd文件中,会对应删除相应用户数据
	/etc/group文件中,会对应删除相应用户组数据
	/home目录下,新用户的 宿主目录不会被系统删除。可以使用sudo rm -rf 用户名,删除掉宿主目录
	'

切换用户

# 切换为管理员
sudo su
# 输入密码切换到root用户
# exit,退出当前登陆的用户
exit
# 切换为其他普通用户,以lisi为例
su - lisi
# 输入密码即可切换到lisi的用户,宿主目录会变为/home/lisi
su lisi
#宿主目录还是当前登陆用户的宿主目录,不会变为/home/lisi
# 退出当前登陆用户,也是用exit
exit

修改文件所有者和所属组

修改所有者
# 语法:
sudo chown 用户名 文件名
# 举例:
sudo chown lisi file.txt
修改所属组
# 语法:
sudo chgrp 用户组名 文件名
# 举例:
sudo chgrp lisi file.txt

一次性修改文件的所有者和所属组:

# 语法:
sudo chown 新用户名:新组名 文件名
# 举例:
sudo chown nobady:nogroup file.txt

查找和过滤

find

整体语法:

find 搜索路径(绝对、相对) 参数 条件

参数 -name:

  • -name:按文件名搜索
    • 通配符"*":匹配0-N个任意字符。
    • 通配符"?":匹配1个任意字符。
# 查看当前目录下文件名存在file的文件,匹配多个字符
find ./ -name "file*"
# 查看当前目录下文件名存在file的文件,匹配1个字符
find ./ -name "file?"

参数 -type:

  • -type:按Linux文件类型进行搜索
    • 搜索普通文件,使用 f
    • 搜索除 普通文件之外的文件。按7种Linux文件类型
# 搜索普通文件
find ./ -type f
# 搜索套接字文件
# find /temp -type s
# 搜索字符设备文件
find /dev -type c
# 搜索管道文件
find ./ -type p

参数 -size:

  • -size:按文件大小搜索
    • 注意事项:
      • 取范围时,要有两个 -size参数
      • k必须小写
      • M必须大写
      • G必须大写
# 查找大于3M小于5M的文件
find ./ -size +3M -size -5M
# 查找大于3k小于5k的文件
find ./ -size +3k -size -5k
# 查找大于3G小于5G的文件
find ./ -size +3G -size -5G
  • 混合多个参数搜索:
# 查找文件名含有2018.jpg并且文件大于1k小于2M的文件
find ~/ -name "*2018.jpg" -size +1k -size -2M

参数 -maxdepth:

  • -depth:指定搜索层级的深度
    • 注意:-maxdepth应该放在其他参数的前面
find ~/ -maxdepth 4 -name "file*" -size +1k -size -2M

参数 -exec:

  • -exec:将find搜索的结果,指定给某一个其他命令执行
# 语法:
	find命令 -exec shell命令 {} \;
	find ~/ -maxdepth 4 -name "file*" -size +1k -size -2M -exec ls -lh {} \;

参数 -ok:

  • -ok:会在执行shell命令时,进行询问
# 语法
find命令 -ok shell命令 {} \;
find ~/ -maxdepth 2 -name "*2018.jpg" -size +1k -size -2M -ok ls -lh {} \;
  • "|"结合xargs实现将find搜索的结果,指定给某一个其他命令执行。
find ~/ -maxdepth 2 -name "*2018.jpg" -size +1k -size -2M | xargs ls -lh
grep
  • 按文件内容搜索!
    • -i参数:忽略大小写
    • -n参数:显示所在行行号
# 语法:
grep -r "关键字" 搜索目录位置
grep -r "love" ./
grep -r "LOVE" ./ -n -i
# 语法
grep "关键字" 文件名
grep -n -i "hello" a.txt

管道

  • 管道(|):一个命令的输出可以通过管道做为另一个命令的输入
    • 这里的"|"的左右分为两端,左端写入,右端读
cat /etc/passwd | less

帮助文档查看方法

man
  • man 是 Linux 提供的一个手册,包含了绝大部分的命令、函数使用说明。
  • 该手册分成很多章节(section),使用 man 时可以指定不同的章节来浏览不同的内容。
    man 中各个 section 意义如下:
	1 Standard commands(标准命令)

	2 System calls(系统调用,如open,write)

	3 Library functions(库函数,如printf,fopen)

	4 Special devices(设备文件的说明,/dev下各种设备)

	5 File formats(文件格式,如passwd)

	6 Games and toys(游戏和娱乐)

	7 Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量)

	8 Administrative Commands(管理员命令,如ifconfig)
  • man的命令格式:
man [选项] 命令名
# 输入以下命令,显示以下图片内容
man man

man的手册

man设置了如下的功能键

功能键功能
空格键显示手册页的下一屏
Enter键一次滚动手册页的一行
b回滚一屏
f前滚一屏
q退出man命令
h列出所有功能键
/word搜索word字符串

内建命令和外部命令

  • 内建命令:简单理解就是系统自带一些命令

  • 外部命令:简单理解就是安装第三方软件带的一些命令

  • 命名类型查看方法

    • 格式:使用type命令查看
      • type [-afptP] 名称 [名称…] 显示命令类型的信息
  • 使用方法示例
    示例1

  • 内建命令(help)

    • 格式:help+内建命令
      应用示例
      在这里插入图片描述
  • 外部命令(-- help)

    • 一般是Linux命令自带的帮助信息,并不是所有命令都自带这个选项
    • 如果我们想查看命令ls的用法:ls --help
      在这里插入图片描述

压缩包管理

  • Linux系统下支持gzip和bzip2两种压缩
tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

  • tar使用格式:tar [选项] 打包文件名 文件
    注意:tar命令很特殊,其选项前面可以使用’-',也可以是不使用
  • 常用参数
参数含义
-c生成档案文件
-v列出归档解档的详细过程,显示进度
-f指定档案文件名称,f后面一定是.tar文件,所以必须放到选项最后
-t列出归档中包含的文件
-x解开档案文件

注意:除了f放在参数的最后,其他参数的顺序任意

  • 示例
    在这里插入图片描述
tar常用命令:
tar  -cvf 创建归档文件
tar -xvf 解除归档文件(还原)
tar -tvf 查看归档文件内容

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

  • 示例
    在这里插入图片描述
  • gzip(-z)调用该压缩类型
    • 压缩都是不保留原文件进行压缩
      在这里插入图片描述

    • gzip不能直接压缩目录,如果想压缩目录必须先使用tar打包,再压缩

    • 压缩用法:tar zcvf 压缩包包名 文件1 文件2 …(常用)

    • 解压缩用法:tar xcvf 压缩包包名 文件1 文件2 …(常用)

  • bzip2(添加-j)调用该压缩类型
    • 压缩用法:tar jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)
    • 解压用法:tar jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
    • 解压到指定目录:-C (大写字母“C”)
# 例如
tar xcvg 压缩包名 -C ./wjg
万能解压:tar xvf 文件名(gzip、bzip2)

进程管理

ps

ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:

选项含义
-a显示终端上的所有进程,包括其他用户的进程
-u显示进程的详细状态
-x显示没有控制终端的进程
-w显示加宽,以便显示更多的信息
-r只显示正在运行的进程
top

top命令用来动态显示运行中的进程。top命令能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔。
在top命令执行后,可以按下按键得到对显示的结果进行排序:

按键含义
M根据内存使用量来排序
P根据CPU占有率来排序
T可以根据进程的运行时间的长短来排序
U可以根据后面输入的用户名筛选进程
K可以根据后面输入的PID来杀死进程
Q退出
H获取帮助
  • 示例
    在这里插入图片描述
kill
  • kill命令指定进程号的进程,需要配合ps使用
# 使用格式
kill [-signal] pid
# 信号值从0-15,其中9为绝对终止,可以处理一般信号无法终止的进程
kill 9122 # 9122为应用程序所对应的进程号
# 有些进程不能直接杀死,这时候我们需要加一个参数"-9","-9"代表强制结束
kill -9 9375
killall
  • 通过进程名字杀死进程

在这里插入图片描述

软件的安装和卸载

常用的在线安装和卸载命令

命令含义
sudo apt-get update获取最新的软件包的列表
sudo apt-get install xxx从源中安装xxx软件
sudo apt-get remove xxx删除xxx软件
sudo apt-get clean清理安装包
  • 软件包安装
    在Ubuntu下安装文件为deb格式
    • 软件安装
      • sudo dpkg -i xxx.deb
    • 软件卸载
      • sudo dpkg -r 软件名

tree命令

  • tree 以树状形式查看指定目录内容
    参数:-L n: 查看n层目录
    示例

在这里插入图片描述

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值