Linux常用命令
复制,删除,移动
cp拷贝,rm删除,mv移动。
-r表示递归 -f强制,无提示
cp [-r] fromFilePath toFilePath
rm [-r] fromFilePath toFilePath
mv [-r] fromFilePath toFilePath切换目录
cd - 返回上次所在目录
cd ~ 切换到当前用户home路径下
cd . 当前路径
cd .. 上层路径
cd ../linux 切换到同一级的linux目录新建文件、文件夹
mkdir dirName 创建文件夹
touch fileName 创建文件Linux 文件和目录名字除了“/”都合法,但是尽量不要用正则表达式之类的符号,因为有可能会在进行正则匹配时造成误删等问题
假设当前目录有文件f1,f2,f3和f[123]
 执行:rm f[123]本来是希望删除f[123],但是由于正则匹配,会先删除f1,f2,f3这三个文件。
查看文件信息
file fileName 查看文件格式信息
cat fileName 以文本格式查看文件全部内容
less fileName 以分页形式查看文件内容,Q键退出常用目录
/home 当前用户主目录,root用户为/root
/bin、/usr/bin 常用的可执行文件,root用户为/sbin
/media、/mnt 用户硬件挂载点
/etc 系统的配置文件,所有用户可见,root用户可以更改
/boot 系统内核,开机必备文件
/dev 系统的所有设备文件,如硬盘、光驱等
/var和/srv 系统运行时的用户数据
/proc 内存中的状态信息
/lib、/usr/lib、/usr/local/lib 库文件
/temp 临时文件,所有用户可见
/usr 程序相关文件unix system resource文件相关
ls
ls 展示当前目录下文件信息:
ls [-alhd] ll展示目录下的文件列表,a 展示所有文件(包括隐藏文件), h 展示带单位的文件大小, d展示当前目录本身信息
chmod
chmod 更改权限
chmod [-R] mode fileNamemode组成如下:[范围] [操作] [权限]
范围:u用户、g群组、o其他、a以上所有(ugo)
操作:+ 增加、- 减去、= 等于
权限:r 读权限4、 w 写权限2、 x 执行权限1 、无权限 0
权限验证 : root 用户可以访问任何用户文件,不受权限限制;普通用户需要验证权限
要读取文件夹中的内容,也需要执行权限x
文件权限与 umask
Linux 创建新项目时默认的权限分别是:
文件夹 777
文件 666但是,经过 umask(此处为 0022)遮盖后,变成了 755 ,644,这才是真正创建后的结果
可以通过umask查看umask 的值,一般只去其后 3 位,遮盖的原则是从原先的权限中减去umask 中的权限:
原始权限  : r w x      7
umask	: -  w x      3
结   果  : r - -      4查看、管理当前用户信息
users 和whoami输出当前用户名
增、删、改用户:
useradd / userdel / usermod username
group群组管理也类似
groupadd / groupmod ...其中userdel -r username在删除用户时,也会删除用户对应的主目录home
groups 查看用户所在群组,其中第一个是主要群组,其余是次要群组。
主要群组 在用户创建新的文件时,文件群组权限一项默认为该群组
who 、w可以查看用户相关信息
id 查看某人或者自己相关的UID、GID
finger [-s] username
查看用户相关信息
-s 仅显示用户账号、全名、登录时间GID 系统 <500 ,用户 >500
改密码
passwd username文件打包、压缩和解压缩
.gz 压缩后格式,.tar 打包后格式,tar.gz先打包后压缩的格式(常用)
gzip
gzip 压缩会删除源文件,
gzip [-cdtv#] filename# 压缩等级
v 显示压缩前后压缩比
t 校验是否是 gzip 压缩的文件
c 压缩文件并输出到屏幕
d 解压文件
使用:
gizp file 将file压缩成file.gz,会删除file
gzip -c file > file.gz 压缩文件file并输出到file.gztar
打包,在压缩文件夹时,一般为了效率都会先打包,在压缩,由此形成的格式一般是类似*.tar.gz*的后缀。
打包
tar [-jcv] -f outFileName.tar inDirPath
解包
tar [-jxv] -f inFileName.tar -C outputPathc 建立打包文档
x 解包 -C 输出目录
t 查看打包文件的内容
j / z 使用bz2 / gzip 压缩、解压
v 输出信息
f 后面紧跟要操作的文件
bash shell
bash 是用户和内容交互的桥梁 用户 ↔ bash ↔ Unix内核
env 查看环境变量
type 查看类型
which 查看指令的位置
clear 、 cls 清屏
bash shell 设置
自定义变量
key=value 增加一个值为value的变量key
其中,如果 value 有空格的话需要用引号包住:
双引号 可以用$KEY 引用其他KEY的值
单引号 内容是纯文本echo $KEY 可以输出KEY的值
set 查看所有变量
set | grep HIST 查看shell命令历史
set | grep PSI 提示符前面的内容,username-MBP:dirpath username$别名配置
alias 查看所有别名
alias newCmd=oldCmd使用newCmd表示oldCmd
unalias newCmd 删除别名
如:alias cls=clear,执行cls就等于执行clear
环境变量
export KEY=VALUE 将值为VALUE的KEY添加到环境变量(本次 shell 有效)
此外还可以写到一些文件中,在开机、登录、注销登录时调用执行——自动执行脚本**shell startup scripts**
shell startup scripts
开机时执行:
/etc/profile/ect/profile.d/*.sh~/.bash_profile , ~/.bash_login , ~/.profile这三个只要其中一个成功执行了,后面的就不会执行,~/.bash_profile会执行~/.bashrc/etc/.bashrc
未登录时会执行:
~/.bashrc/etc/bashrc/etc/profile.d/*.sh
注销时执行~/bash_logout
在修改了以上文件后,可以使用source path_to_file或者重新登录使其立即生效
标准输入输出等
| 代码编号 | 名称 | 代码 | 作用对象 | 
|---|---|---|---|
| 0 | 标准输入 | stdin | 键盘等 | 
| 1 | 标准输出 | stdout | 屏幕等 | 
| 2 | 标准错误 | stderr | 屏幕等 | 
定向
<和<<输入和 追加输入>和>>输出 和追加输出
使用:ls -al | >> result.txt将ls的内容追加输出到result.txt文件中。
|叫做管道,可以将前者的标准输出当做后者的输入。
cmd0 && cmd1 前者执行成功才会执行后者;
cmd0 || cmd1 前者执行失败才会执行后者。
grep
查询内容
grep [-cinv] 'key' filenamec 计算次数
i 忽略大小写
n 行号
v 显示没有该字符的行号
'key' 可以是正则表达式
--color=auto 对查找到的文本显示颜色
sort
排序,默认以第一列排序
sort [-fbknrtu] filenamef 忽略大小写
b忽略最前面的空格(要是排序不生效时可以试一下,推荐)
k 以第几列为标准排序,默认第一列
n 以数组排序
r 逆序
t 待排序的文件的分隔符,默认是 tab
M 以英文月份排序
wc
统计字符数
wc [lwm] filenamel 行
w 词
m 字符
