Ubuntu 常用命令


文章目录

    • Linux 目录结构
    • 常用命令
      • ls:查看目录内容
      • pwd:查看当前目录绝对路径
      • cd:切换目录
      • mkdir:创建目录
      • rm:删除文件/目录
      • touch:创建空文件
      • mv:移动和重命名文件/目录
      • cp:复制粘贴
      • cat:查看文件内容
      • more:查看文件
      • ps:进程状态
      • kill:杀死
      • ifconfig:查看虚拟机网络配置信息
      • clear: 清屏命令
      • shutdown:关机
      • which:查看命令位置
      • hostname:查看主机名称
      • tar:压缩、打包、解包、解压命令
      • grep:查询文件内容,全文检索
      • | :管道符
      • which:查看执行命令的位置
      • vi:vi 编辑器
        • vim
      • useradd:添加用户
      • chmod:权限管理
    • 小结

Linux 目录结构

Linux的目录结构是一个树型结构,只有一个根目录/, 所有文件都在它下面。

系统的文件不要动!避免坏掉。

Windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘,而Linux 没有盘符 这个概念,。
Ubuntu 常用命令_第1张图片

目录 作用
/bin 二进制命令所在的目录
/boot 系统引导程序所需要的文件目录
/dev 设备软件目录,磁盘,光驱,
/etc 系统配置,启动程序
/home 普通用户的家,目录默认数据存放目录
/lib 共享库文件和内核模块存放目录
/mnt 临时挂载储存设备的挂载点
/opt 额外的应用软件包(可删)
/proc 操作系统运行时,进程信息和内核信息存放在这里
/root Linux超级权限用户root的家目录
/sbin 和管理系统相关的命令,【超级管理员用】
/tmp 临时文件目录,这个目录被当作回收站使用
/usr 用户或系统软件应用程序目录

注:配置的时候可以给大一点磁盘空间,如果磁盘不够,需要临时挂载到其他地方。可以加磁盘空间用于创建集群。

常用命令

命令格式:command [-options] [parameter]
说明:

  • command:命令名,相应功能的英文单词或单词的缩写
  • [-options]:选项,可用来对命令进行控制,也可以省略
  • parameter:传给命令的参数(限制),可以是 零个、一个、多个。

注:

  • 敲几个字符之后,按 tab 键可以自动补全(唯一目录)。如果有多个目录字符一致,则会提示,需要多敲几个字符,直到唯一才可以 tab 补全。
  • 相对路径不以/开头,以/开头的都是被解读为绝对路径。
  • 不在根目录下操作,新建一个个人目录操作,避免删除重要内容。任何路径下都可以使用绝对路径查看其他路径下的内容。

ls:查看目录内容

ls:list,查看目录下的内容。ls [选项] [路径],可以多个选项多个路径混用,选项和路径没有先后顺序。

ls          #查看当前目录内容 (缺点: 隐藏文件看不到,以 .开头的文件) 
ls /home    #查看绝对路径 /home 目录下内容,可以同时查看多个目录,如 ls /home /lib

ls -l		#list,以列表方式显示文件的详细信息,大小都是字节
ll          #等价于ls -l

ls -a       #all,查看当前目录所有内容,包括隐藏文件 
ls –al      #以列表方式查看目录内容的详细信息(查看文件类型、权限、大小等) 

ls -h		#必须配合 -l 以人性化的方式显示文件大小
ls -lh      #查看目录内容的详细信息,较大的文件以 K、M、G 方式显示文件大小,或 ls -l -h
  • 使用 Linux 风格,一般文件夹是蓝色、文件是白色,二者颜色不同。隐藏文件前面带.
  • 第一个字母的含义:d表示 directory 目录,-表示文件Ubuntu 常用命令_第2张图片

pwd:查看当前目录绝对路径

cd:切换目录

cd:change directory,切换命令。

cd            #回到用户主目录,root 用户就是 /root,aa 用户则是 /home/aaa
cd test       #切换到当前目录下的test目录(相对路径) 
cd /root/test #切换到指定目录(绝对路径)
cd ..         #回到上一级目录 
cd ../..      #回到上上一级目录
cd ../dir     #回到上一级的dir目录 
cd -		  #在最近的两个目录切换
cd /		  #切换到根目录
cd ~		  #切换到用户主目录

mkdir:创建目录

mkdir:make directory,创建目录。

mkdir test1					#在当前目录下创建文件夹test3,相对路径
mkdir /dir1/test1			#在指定目录 /dir1 下创建文件夹 test1,绝对路径

mkdir dir 					#创建单级目录 
mkdir -p dir1/dir2/dir3 	#创建多级目录,相对路径,先检查再创建,没有目录就创建;
							#在当前目录下,检查是否有 dir1,没有则创建;然后再 dir1 中检查是否有 dir2,没有则创建;然后在 dir2 中检查是否有 dir3,没有则创建。
           

rm:删除文件/目录

rm:remove,删除文件/目录

rm file1		#删除文件
rm -r dir1		#recursive,递归删除目录下内容,会一个个目录/文件询问是否删除
rm -f	file1	#force,强制删除文件, 无需提示,忽略不存在的文件
rm -rf dir1		#强制删除目录, 无需提示,忽略不存在的目录,可以写成 rm -fr dir1/rm -f -r dir1/rm -r -f dir1

touch:创建空文件

touch a.docx b.xlsx创建的两个文件不是 Windows 常见的 Word 和 Excel 文件,而是 Linux 的静默文件。
如果通过 Windows 上传 .docx 和 .xlsx,则是真正的 Word 和 Excel 文件。

touch a b c  		#创建 a、b、c 三个文件,没有后缀
touch test1/a.txt	#在当前路径下的 test1 目录下新建 a.txt

mv:移动和重命名文件/目录

mv:move,移动文件/目录和重命名。类比剪切+粘贴。
mv 原文件/原路径 目标文件/路径

mv a.txt dir1  	#dir1 已存在,移动,将 a.txt 移动到 dir 目录
              	#dir1 不存在,重命名,将 a.txt 重命名为 dir 
mv dir2 dir1   	#dir1 已存在,移动,将dir2目录移动到dir1目录
              	#dir1 不存在,重命名,将dir2目录重命名为dir1
mv a.txt b.txt 	#b.txt 已存在,会提示是否覆盖
				#b.txt 不存在,重命名,将a.txt重命名为b.txt

cp:复制粘贴

cp:copy,复制粘贴

cp a.txt b.txt 	#b.txt 不存在,新建 b.txt,将 a.txt 拷贝过去
				#b.txt 已存在,会提示是否覆盖
								
cp dir2 dir1 -r	#dir1 不存在,新建 dir1,将 dir2 目录及内容拷贝过去,dir1 和 dir2 同级
				#dir1 已存在,将 dir2 目录及内容拷贝到 dir1 目录下,变成 dir1/dir2(上下级)

cp a.txt dir1	#将 a.txt 拷贝一份到 dir1

cat:查看文件内容

cat a.txt		

more:查看文件

  • enter:多查看一行数据
  • 空格:向下翻一页,查看新的一屏幕数据
  • ↑:向上翻一页
  • PgUp:向上滚动一行
  • PgDn:向下滚动一行
  • q:退出 more
more a.txt		#打开分页视图显示文件内容

ps:进程状态

ps:process status,进程状态

  • -e:execute(执行)
  • -f:format(格式化)
ps  -ef 			#查看当前正在运行的进程
  • UID:user_id,启动进程的用户
  • PID:process_id,进程 ID
  • PPID:parent process_id,进程 ID 的父级 ID

kill:杀死

kill  37922 		#终止进程37922,有时候不一定会终止进程(有保护进程机制)
kill  -9  37949 	#杀死进程37949,一定会杀死进程
kill  -l 			#查看kill命令的所有信号,可以查看各个代码的含义

ifconfig:查看虚拟机网络配置信息

类似 Windows 的ipconfig

ifconfig		#查看网络

Ubuntu 常用命令_第3张图片

clear: 清屏命令

快捷键:ctrl + l

clear			#清屏

shutdown:关机

reboot				#重启
shutdown -h now		#立马关机
halt				#不断电关机

which:查看命令位置

which	apt			#显示执行命令的绝对位置

hostname:查看主机名称

hostname

tar:压缩、打包、解包、解压命令

.tar有格式的文件,固定的格式会占用一定的内存,适合大文件,小文件打包可能还会比原来大。

  • c : 打包
  • v : 看过程 view
  • f : 打包成哪个文件 file
  • z : 打包成压缩格式的文件,gzip格式
  • x : 解包、解压缩
  • -C :解到指定的位置
# 要求:-f 放命令最后,跟文件名,指定文件名称
tar -cvf test1.tar test1    	#打包,将 test1 目录打包为 test1.tar 文件
tar -czvf test1.tar.gz  test1	#打包+压缩,将 test1 目录打包并压缩为 test1.tar.gz 文件

tar -xvf test1.tar				#解包,将 test1.tar 文件解包到当前目录
tar -xvf test1.tar	-C dir		#解包,将 test1.tar 文件解包到 dir 目录
tar -xzvf	test1.tar.gz -C dir #解压缩包,将 test1.tar.gz 文件解压到 dir 目录

grep:查询文件内容,全文检索

Grep(Globally search a Regular Expression and Print)命令可以对文件进行文本查询,内容查询。
返回整行的内容。

  • -i:不区分大小写
  • -r:递归
grep [key] [filename]			#在文件 [filename] 中查找包含 [key] 的内容
grep [key] [filename]	--color	#高亮显示内容,后面版本自带高亮
grep -ir [key] [dir]			#在目录 [dir] 中递归查找包含 [key] 的内容

| :管道符

前一个命令的输出当做下一个命令的输入。
ps -ef返回的内容作为下一个命令查找的对象。

ps -ef | grep [key]				#查找包含 [key] 的进程
ll | grep [key]					#查找包含 [key] 的文件

Ubuntu 常用命令_第4张图片

which:查看执行命令的位置

which pwd		#查看当前命令的位置

vi:vi 编辑器

vivisual interface的简称, 是Linux中最经典的文本编辑器。vi的核心设计思想:让程序员的手指始终保持在键盘的核心区域,就能完成所有编辑操作。
vi 的特点:

  • 只能是编辑文本内容,不能对字体段落进行排版
  • 不支持鼠标操作
  • 没有菜单,只有命令

Ubuntu 常用命令_第5张图片

vi [filename]			#打开文件,进入命令模式
i/o/O/a/s				#命令模式 -> 编辑模式,鼠标没用了
Esc						#编辑模式 -> 命令模式
Delete					#末行模式 -> 命令模式
shift+: 				#命令模式 -> 末行模式,只有命令可以进入该模式。可以退出
  w		  				#保存
  q		  				#退出,没有修改或者已经保存才可退出
  q!	  				#强制退出
  wq	  				#保存退出

注:编辑模式和末行模式无法切换。

命令模式相关命令:

命令 功能
o 在当前行后面插入一空行
O 在当前行前面插入一空行
dd 删除光标所在行
ndd 从光标位置向下连续删除 n 行
yy 复制光标所在行
nyy 从光标位置向下连续复制n行
p 粘贴
u 撤销上一次命令
gg 回到文件顶部
G 回到文件末尾
/str 查找str,按 n(next) 查找下一个

底行模式

命令 功能
:w 文件 另存为
:w 保存(ctrl + s)
:q 退出, 如果没有保存,不允许退出
:q! 强行退出, 不保存退出
:wq 保存并退出
:x(同上) 保存并退出
Shift + z + z 保存退出
:set nu (number) 设置行号
:%s/旧文本/新文本 文本替换
:nohl 取消高亮

PS:开发不是求快,求稳?!

vim

vim 是 vi 的增强版,加代码补全、字体颜色。

vim [filename]+10		#打开文件并定位到第10行

useradd:添加用户

useradd [user_name]			#新增普通用户
passwd	[user_name]			#给用户设置密码
userdel -r [user_name]		#删除普通用户,加 -r 删除彻底,漏加 删除文件夹 rm -rf
su [user_name]				#切换用户 su = switch user #切换用户

当普通用户仅有只读权限时,vi [filename]无法写入内容,可以使用sudo vi [filename]并输入普通账户密码获得临时的写入权限。

chmod:权限管理

chmod:change mode

ll命令返回说明:
Ubuntu 常用命令_第6张图片

  • 角色:
    • 创建者 :一个文件或者文件夹的创建者(拥有者) userid -> uid -> u
    • 用户组 :针对一个文件或者文件夹而言,默认与创建者同名 groupid-> gid -> g
    • 其他用户:创建者之外的用户,就是其他用户 other -> o
  • 权限:
    • 第2-4位:创建者对文件或者文件夹的权限
    • 第5-7位: 用户组的权限
    • 第8-10位: 其他用户的权限
    • 权限的解读:
中文 英文代号 数字代号 说明
r 4
w 2
执行 x 1 运行文件,cd 目录
  • 权限操作:chmod 【字母不能和数组结合操作】
chmod o+w  a.txt    	#对其他用户添加一个写权限
chmod g-r  a.txt 		#给用户组删除读权限
chmod o=wx  a.txt 		#给a.txt的其他用户赋予写和执行权限
chmod 777  a.txt 	  	#给所有角色赋予所有权限
chmod 777 -R dir 	  	#给所有角色赋予目录下所有文件/目录的所有权限,递归赋予

小结

本文仅介绍了增、删、改、查等常用的命令,Ubuntu 的命令还有很多,可以参考:UbuntuManual 了解更多。

你可能感兴趣的:(Hadoop,ubuntu,linux,运维)