iOS唯一标识符

Linux 笔记

系统目录结构

目录 说明
bin 二进制文件(可执行文件)
etc 软件和系统的配置文件
home 家目录
boot 引导文件
dev 设备文件
lib(lib32、lib64..) 系统库
media 媒体文件(默认挂载光驱)
mnt 挂载目录
opt 用户的文件(公共的)
proc 进程信息
root root用户目录
sbin 超级bin目录,有权限限制的可执行文件
sys 系统文件目录
tmp 临时文件目录
usr 应用软件
var 主要针对常态性变动文件,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),或者例如Mysql数据库的文件等

命令

常用命令

命令 说明
ls 查看当前目录文件 [-l 详细信息 -h显示大小单位 -a 显示全部文件]
tree 以树状方式显示目录信息
pwd 查看当前目录路径
clear 清除终端内容
cd 切换到指定目录
touch 文件名 创建指定文件
mkdir 目录名 创建目录(文件夹)
rm 文件名或者目录名 删除指定文件或者目录
rmdir 目录名 删除空目录
cp 拷贝文件、拷贝目录
mv 移动文件、移动目录、重命名
mkdir 创建文件夹 [-p 创建所依赖的文件夹]
rm 删除文件或文件夹 [-i 删除确认 -r 递归删除 -f 强制删除 -d 删除空目录]
cp 拷贝 [-i 提示 -r 递归拷贝 -v 显示拷贝后的路径描述 -a 保留文件的原有权限]
mv 移动文件 [-i 确认交互 -v 显示移动后的路径描述]
clear 清屏 (快捷键 ctrl + L)
which 查看命令位置
shutdown –h now 立刻关机
reboot 重启
passwd [user] 修改用户密码,不指定用户默认修改当前登录用户密码
ps aux 查看系统进程 ps aux | 想要查找的进程 [-a 表示所有用户 -u 表示显示用户名 -x 表示显示所有的执行程序]

重定向命令

命令 说明
> 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式
>> 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式

查看文件内容

命令 说明
cat 查看小型文件
more 分屏查看大型文件(显示百分比,退出时保留文件内容 b 上一页 f或空格下一页)
less 分屏查看大型文件(不显示百分比,退出时不保留文件内容 b 上一页 f或空格下一页)

管道 (|)

一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容。

1
ls -lh | more # 将ls的信息分屏显示

链接命令

软链接

  1. 软链接文件,无论对哪个文件进行操作,都会影响另外一个文件
  2. 当原文件删除或移动或改名后,那么链接文件会失效,链接文件会变成红色,如果将这个文件名恢复,那么连接也会恢复
  3. 当创建软链接文件时,为了避免文件移动后链接失效,源文件需要使用绝对路径指定
  4. 可以对目录做软链接

硬链接

  1. 删除源文件,连接文件仍然能访问 (相当于新增引用计数)
  2. 硬链接 只能链接文件
  3. 硬连接不受路径影响
  4. 硬连接会保持数据同步
  5. 硬连接会改文件属性信息中的连接数据
  6. 不允许对目录做硬连接
  7. 目录的文件信息中的连接数表示 当前目录下包含多少子目录
命令 说明
ln -s 创建软链接
ln 创建硬链接
1
2
ls -s 源文件 目标文件 # 软链接
ls 源文件 目标文件 # 硬链接

grep

grep 选项 ‘要查找的内容’ 被查找的文件

命令选项 说明
-i 忽略大小写
-n 显示匹配行号
-v 显示不包含匹配文本的所有行

grep 搜索时,可以使用正则来查找字符

正则表达式 说明
^ 以指定字符串开头 eg: ‘^xxx’
$ 以指定字符串结尾 eg: ‘xxx$’
. 匹配一个非换行符的字符 eg: ‘xxx.xxx’

查找文件

在查找时,查找的范围包含指定目录及指定目录下的子目录

find 查找路径 -name 被查找的文件

正则表达式 说明
* 表示任意个字符
? 表示一个任意字符

通过 history 命令你可以找到最近用过的命令:

1
history | grep "git clone"

文件内容追加

1
cat file1.txt >> file2.txt

压缩解压

Linux默认支持的压缩格式:

  • .gz
  • .bz2
  • .zip

.gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
.zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩

tar

tar命令选项:

选项 说明
-c 创建打包文件
-v 显示打包或者解包的详细信息
-f 指定文件名称, 必须放到所有选项后面
-z 使用gzip压缩或解压缩,一般格式为xx.tar.gz或xx. tgz
-j 使用bzip2压缩,压缩或解压缩(一般格式为xxx.tar.bz2 )
-x 解包
-C 解压缩到指定目录
-O 将文件解压到标准输出
-t 列出档案文件中的内容
-r 向压缩归档文件末尾追加文件
-u 更新原压缩包中的文件
-v 显示详细过程
–exclude 在压缩过程中,排除某个文件
–remove-files 在完成打包后,删除原文件夹

tar 命令可以将多个文件进行打包或解包

注意: 打包时是不会进行压缩文件的
使用选项时, f 选项一定在所有选项的最右侧, 后面跟的是包名

为了在打包时可以进行压缩,tar 集成了两个选项, z 和 j,用来在打包的同时对包文件进行实现压缩

z -> gzip 工具, 压缩格式是 .gz
j -> bzip2 工具, 压缩格式是 .bz2

固定格式

1
2
3
4
5
tar -zcvf xxx.tar.gz 被压缩文件
tar -zxvf xxx.tar.gz -C 指定解压缩目录

tar jcvf xxx.tar.bz2 被压缩文件
tar jxvf xxx.tar.bz2 -C 指定解压缩目录

zip和unzip命令

命令 说明
zip 压缩成.zip格式文件
unzip 解压缩.zip格式文件

unzip命令选项:

选项 说明
-d 解压缩到指定目录

gzip和bz2 (不常用,建议使用tar命令)

1
2
3
4
5
6
7
# gzip
gzip 文件名 # 压缩
gzip -d 压缩包.gz # 解压缩

# bz2
bzip2 文件名 # 压缩
bzip2 -d 压缩包.gz # 解压缩

权限

chmod修改文件权限有两种方式:

  • 字母法
  • 数字法

chmod 字母法的使用

格式: chmod 不同角色设置的权限 文件

1
2
3
4
5
6
7
# -rwxr-xr-x
- rwx r-x r-x
文件类型 文件所有者权限 文件所有者所属组用户权限 其它用户权限

chmod u+r path # 为文件所有者增加读取权限
chmod u-r path # 为文件所有者去除读取权限
chmod u=rx path # chomd u=r-x 设置文件所有者权限为 可读 可执行

角色说明:

角色 说明
u user, 表示该文件的所有者
g group, 表示用户组
o other, 表示其他用户
a all, 表示所有用户

权限设置说明:

操作符 说明
+ 增加权限
- 撤销权限
= 设置权限

权限说明:

权限 说明
r 可读
w 可写
x 可执行
- 无任何权限

chmod 数字法的使用

数字法就是“rwx” 这些权限也可以用数字来代替

格式: chmod 不同角色的权限值 文件名

1
2
3
# r		w		x		- 
# 4 2 1 0
chmod 777 1.txt # 将1.txt权限设置为 所有用户 可读 可写 可执行

权限说明:

权限 说明
r 可读,权限值是4
w 可写,权限值是2
x 可执行,权限值是1
- 无任何权限,权限值是0

管理员权限

sudo命令的使用

命令 说明
sudo -s 切换到root用户,获取管理员权限
sudo 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo

用户相关操作

/etc/passwod 文件,用来保存用户的信息
/etc/shadow 文件,用来保存用户的密码
/etc/group 文件,用来保存系统中的所有组

命令 说明
whoami 查看当前用户
exit 退出当前登录用户
who 查看所有的登录用户
useradd 创建(添加)用户 [-m 自动创建目录民为用户名的主目录 -g 指定用户所属的用户组,默认不指定会自动创建一个同名的用户组]
id 查看用户信息: id username
passwd 设置密码: password [用户名] 不输入用户名则更改当前账号密码
su 切换用户 (su - 用户名)
userdel 删除用户: userdel -r 用户名 (-r 删除用户时同时删除用户目录)
groupadd 创建(添加)用户组: groupadd 用户组名
groupdel 删除用户组: groupdel 用户组名

远程连接

Linux 安装ssh服务器

sudo apt-get install openssh-server

连接服务器

ssh username@ip

###scp 远程复制
上传文件

scp 本地文件 username@ip:远端主机路径 -P 端口号

下载文件

scp username@ip:远端主机资源路径 本地路径

大量的文件上传和下载可以通过可视化工具FileZilla来完成。

vim的使用

三种模式:

  1. 命令模式
  2. 编辑模式.
  3. 末行模式

vim 的末行模式命令

命令 说明
w 保存
:wq 保存退出
:x 保存退出
:q! 强制退出
:set nu 设置行号
:set nonu 取消行号
:syntax on/off 开启/关闭语法高亮

vim常用命令

命令 说明
i 在当前光标位置处插入
a 在当前光标下一个字符位置处插入
o 在当前光标所在行的下一行插入一个空行
yy 复制光标所在行 (nyy 复制n行)
p 粘贴 (np 粘贴n次)
dd 删除/剪切当前行(ndd 删除n行)
u 撤销
:/搜索的内容 搜索指定内容
G 回到最后一行
gg 回到第一行
数字+G 回到指定行
x 向后删除一个字符
X 向前删除一个字符
>> 往右缩进
<< 往左缩进
:%s/要替换的内容/替换后的内容/g 全局替换
:开始行数,结束行数s/要替换的内容/替换后的内容 局部替换
. 重复上一次命令操作
0 回到行首
^ (shift+6) 回到当前行的行首
$ (shift+4) 回到当前行的行末
ctr+f 下一屏
ctr+b 上一屏
V 按行选中
ctr+r 反撤销
h 光标向左移动
j 光标向下移动
l 光标向上移动
l 光标向右移动
/查找内容 查找内容 (n 跳到下一个, N 跳到上一个)
?查找内容 查找内容 (n 跳到上一个, N 调到下个一)

软件的安装和卸载

离线安装和卸载

dpkg -i 安装文件.deb

dpkg -r 软件名

apt-get方式安装

是在线安装deb软件包的命令,主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件。

sudo apt–get install 安装包

更改源

  • 图形界面

系统设置-软件和更新-下载自-选择国内源

  • 命令行

找到对应源配置-覆盖/etc/apt/sources.list

sudo apt/apt-get update

配置环境变量

1
2
vim .bash_profile
source .bash_profile //立即生效

sh脚本文件

可以将经常使用的一系列终端命令行放在脚本文件中(shell),然后执行脚本文件

可以通过sh、bash、source来执行脚本文件

  • sh、bash 会启动一个子进程来执行脚本文件 执行后返回到父进程的shell环境(如脚本中有cd命令,不会改变当前目录)

  • source 在当前进程中执行脚本文件(如脚本中有cd命令,会改变当前目录)