前沿

以前博客的文章,关于Linux常用命令的总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
查看类
pwd 查看当前路径

more 查看文件内容 分屏一页一页显示
ls 查看当前路径的文件 -l详细 -a显示所有 -h人性化 -d显示目录属性 -i查id号
ls [选项] [参数] []可有可无
head [选项] 文件 查看文件首几行 -q隐藏文件 -v 显示文件 -c 显示多少字节 -n 显示文件头多少行
tail [选项] 文件 查看文件末几行 -n末多少行 -f循环读 -s与-f同时使用表示休眠多久再读
top 动态显示当前最占资源的进程 ps瞬间


网络类
ifconfig 查看网卡设置
netstat -an 查看当前网络连接
curl 命令行浏览器
http://www.cnblogs.com/wangkangluo1/archive/2012/04/17/2453975.html
wget 网址 下载文件到当前目录

tracepath ip或网址 查看本地到达目的地所要跳的点和时间
mtr ping和tracepath合并 不断的发数据 查看网络丢包比较好
ifdown 网卡名 关闭网卡 ifup 开启

dhclient 使用dhcp获得新IP -r 释放当前ip
netstat 查看接口信息 -p 打开socket对应程序 -s 显示端口信息
Route 查看路由表


权限
权限10位 第一位类型 -文件 d目录 l软链接 块设备 字符设备 套接字 管道
-rw-r--r--. 2-4所有者u 5-7所属组g 8-10其它o .代表acl权限 r可读取内容 w可写入(不可删除)
chmod [选项] 模式 文件名 修改文件权限 chmod u+w abc 给abc的所有者添加读权限

chown 用户名 文件名 把文件的所有者变成用户 或者 用户名:用户组 可以同时改变 chgrp 组名 文件 更改文件组信息
umask 查看默认权限 默认不能有执行权限 建立文件后 默认权限为666-umask 目录为777-umask
acl权限 dumpe2fs -h 硬盘名 查看是否开启acl权限
mount -o remount,acl 分区名 临时开启 在/tct/fstab上修改永久开启


编辑目录类
touch 创建空文件
mkdir -p [目录名] 创建目录 -p创建一个路径 单个文件不需要
cd [目录] 切换目录 cd -回到上次 cd .. 回到上一级
相对路径 ../usr/local从当前目录上一级查找 绝对路径 /etc/ 从根目录开始
rmdir [目录名] 只能删空的目录 不推荐
rm -rf [目录名] 强制删除 -f 强制 -r 一直问
cp [选项] [目录] [目标目录] 复制 -r复制目录 -p带属性 -d复制链接文件 -a全部
mv [目录] [目标目录] 剪切或者改名
ln -s [原文件] [目标文件] 生成链接文件 硬链接与原文件有相同I节点和block 可看作同一文件 不能跨分区 不能对目录使用 软链接 与windows快捷方式类似 用-s创建 使用绝对路径


搜索命令
locate 文件名 速度快 在后台/var/lib/mlocate搜索 新文件搜不到 更新数据库命令updatedb 部份即可搜到 只能搜文件 /etc/updatedb.conf 查看 筛选规则 prunefs不搜索的文件系统 prunenames不搜文件包含关键字 prunepaths不搜目录更新文件
whereis 命令名 只搜索命令 -b 只查可执 -m 只查帮助文档
which 文件名 与whereis类似 并且显示该命令的别名

find [范围] [条件] 占资源多 功能强大 完全匹配 除非用通配符
find /root -iname install.log 按名字查找
-user root 按所有者 -nouser 查找没有所有者的文件 -mtime +10 查找10天前修改的文件 -10 10天内 atime文件访问时间 ctime改变文件属性 -size +表示大于 -表示小于 查找文件大小写 k M -inum 以id号查找 -a 逻辑与 -o 逻辑或
grep [选项] 字符串 文件名 在文件当中匹配符合条件的字符串 -i忽略大小写 -v取反 *包含匹配*

-exec
ls -h
{} \; 在find之后 使用第二条命令把找到的结果改变
通配符 *补充 ?一个字符 []里面的任意一个 需用“”括起 [a-z] [^a-z]取反 [abc]


帮助命令

man 命令 获取指定命令帮助 -f 查看该命令有哪些级别 相当于whatis 命令 -k 查找与该命令相关的 相当于apropos 命令
命令 --help 获取命令选项 whereis 命令 判断是否为shell内部命令 help cd 获取内部命令帮助

info 命令 查看超详细命令 回车 进入子页面 u上层 n下一小节 p上一小节 q退出



压缩命令
zip 压缩文件名 源文件 压缩文件 -r 压缩目录

unzip 文件名 解压缩
gzip 源文件 压缩为.gz 源文件会消失 gzip -c 源文件 > 压缩文件 源文件保留
gzip -r 目录 压缩目录下的所有子文件 单个 但是不压缩目录
gzip -d 文件名 解压缩 或者 gunzip 文件名
bzip2 源文件 不保留源文件 -k保留 不能压缩目录 -d解压缩 或者 bunzip2 加-k保留压缩文件
tar -cvf 打包文件名 源文件 打包 -c打包 -v显示过程 -f指定打包后的文件名

tar -xvf 打包文件名 -x 解打包 -zcvf 压缩名名.tar.gz 源文件 -z压缩为.tar.gz -zxvf 压缩包名.tar.gz -x解压缩.tar.gz -jcvf压缩成tar.bz2 -jxvf 解压缩.tar.bz2 -ztvf 查找该压缩名内有什么


关机与重启命令
shutdown -r hh:mm &(后台运行) -c取消 -h关机 -r重启 (halt poweroff init 0 直接关机 不推荐) reboot 重启可以使用 init 6
runlevel 查找当前运行级别 x y 当前y从x过来 /etc/inittab 查找开机时运行的级别
logout 退出当前用户


挂载命令 用户登录查看和用户交互命令即分配盘符
mount 查询系统已经挂载设备 -a 依据/etc/fstab的内容 自动挂载
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 -o:exec/noexec 设定是否允许在文件系统中执行可执行文件; remount 重新挂载已经挂载的文件系统

如果系统已经挂载的可以不写设备文件名

mount -t ios9660 /dev/sr0 /mnt/cdrom 挂载光盘
umount 设备文件名或者挂载点 都一样 卸载挂载点
fdish -l 查看系统识别的硬盘,主要用于查看外设备名 光盘默认/dev/sr0 或者/dev/cdrom(软链接)

mount -t vfat /dev/sdb1 /mnt/usb/ 挂载u盘 vfat==fat32
w命令 查看登录用户信息 who命令 与w类似
last命令 查询当前与过去登录用户和时间 /var/log/wtmp数据

lastlog命令 查看系统中所有的用户登录时间 /var/log/lastlog
echo [选项] [内容] 要使用转义 需要加选项 -e "\e[1;31m \e[0m" 从\e到\e 把里面变成红色


vi或者vim 文件名 打开并进入或者创建并进入
运行 bash shell文件名 或者 chmod 755 shell文件名 ./shell文件名
alias 查看系统命令的 原名 或者 alias vi='vim'即把vi变成vim unalias 别名 删除别名 vi ~/.bashrc 别名永久生效
命令顺序 绝对路径或相对路径的命令 > 别名 > bash的内部命令 > $path上找到的第一个命令
history [选项] [历史命令保存文件] 查看历史命令 -c清空 -w写入文件 ~/.bash_history /etc/profile里面可以更改保存数据多少



输出重定向
命令>文件 覆盖的方式 输出到指定文件或设备 >覆盖 >>追加
错误命令 2>文件 2不可缺失 与上面使用类似 但是左不能有空格
命令 > 文件 2>&1 正确就输出到文件 错误就把错误写到正确当中 再写到文件 与 &> 一样
命令 >>文件1 2>>文件2
wc [选项] [文件名] -c统计字节数 -w统计单词数 -l统计行数

< 输入重定向 如 wc < 文件
wc << abc 一直输入到abc 统计之间的数据
多命令顺序执行
命令1;命令2 一个一个执行 && ||
管道 命令1 | 命令2 将1的正确输出作为2的操作对象
a=123 echo $a 输出123 echo &#39;$a&#39; 输出$a echo "$a" 输出123
&#39;&#39; 所有特殊符号都无效 ""除了$(取值) `(引用命令) \(转义) 其他符号无效
a=`ls` echo "$aa" 相当于执行ls 相当于 a=$(ls) echo $a


vi编辑器
vi->vim 支持多级撤销 跨平台 语法高亮 图形界面
vim 文件名 打开或者创建文件 vim +x 文件名 光标处于第x行打开或者创建文件 若没有x 即最后一行 vim +/字符串 文件名 打开文件 光标跳到第一次配的行首 vim aa bb cc 即打开aa bb cc文件 以在命令行上输入n向下个文件 N或者prev向上个文件
进入后 属于命令模式 输入 i 转向编辑模式 esc切换至低行模式 输入:wq (w保存 q退出 !即强制 退不出去可强制退出!q)
命令模式连按两个d 删除光标当前行 o在当前行下方插入一行并切换到输入 yy 复制当前行 p在当前行下方粘贴 P上方 :ls 列出打开的文件 :数字 光标跳转 :/xxx 向后匹配 :?xxx向前匹配 kjhi 光标上下左右 ctrl+f向下翻页 +b向上 +d向下半页 +u向上


磁盘管理
df 查看磁盘分区使用情况 -l显示本地磁盘 a 显示所有文件系统 h人性化 H以1000进制输出单位 T显示磁盘分区类型 t显示指定类型文件系统分区 x不显示
du 统计磁盘上文件大小 -b 以byte为单位 k 以kb m以mb h以1024 H以1000 s指定统计目标
fdisk 显示硬盘信息(MBR) fdisk 硬盘名 m查看操作信息 看显示信息操作 操作完w即可保存
parted 分区工具 (可gpt也可mbr) 输入select 硬盘名 mklabel msdos或者gpt确实格式 mkpart 添加分区 交互式操作 print查看当前分区情况 mkpart 分区名 开始位置M 结束位置M (直接命令生成) rm 分区号 删除分区
mkfs.ext3 /dev/sda 分区格式化 将sda这个分区格式化为ext3 与mkfs -t ext3 /dev/sda效果一样
开机自动挂载 /etc/fstab 文件
在末行 设备名称 挂载点 文件类型 defaults 0 0
mkswap /dev/sdb 把该分区建立成交换分区 swapon /dev/sdb启动 swapoff关闭 在 fdisk接着t里面设置为82号格式


用户信息
/etc/group 组名 : 组密码占位符 : 组编号 : 组中用户名列表
/etc/gshadow 与group一一对应 组名称 : 组密码 : 组管理者 : 组用户列表
/etc/passwd 用户名 密码点位符 编号 组编号 注释信息 主目录 shell类型
/etc/shadow 用户名 密码(加密了) 后面没啥用
groupadd 组名 添加组 -g 带编号
groupmod -n 改名后名 改名前名 更改组名 -g 编号 组名 更改组编号
groupdel 组名 删除组(注意先删除用户)
useradd -g 用户组 用户名 添加用户 -d 路径 用户名 指定路径创建用户 -G 接着-g后面 用户组2,用户组3.。。同时添加多用户组
usermod -c 备注信息 用户名 给该用户添加备注 -l 后用户名 前用户名 修改用户名 -d 目录 用户名 更改用户目录 -g 新用户组 原用户组 更改用户组
userdel 用户名 删除用户 -r包括文件
passwd -l 用户名 锁定用户 -u 解锁 -d 不需要密码登录
gpasswd -a 用户名 组名 添加用户到该组 该组为附属组 -d为删除
newgrp 用户组 切换用户组
gpasswd imooc 修改组密码
id 用户名 显示用户信息 groups 用户名 显示用户所在组

chfn 用户名 设置用户资料
finger 用户名 显示详细资料


根目录下的文件夹用途
bin sbin usr/bin usr/sbin 存放系统命令 bin普通 sbin超级用户
boot 启动目录 保存启动数据
dev 硬件文件
etc 系统默认配置文件
home root 用户目录
lib 函数库
media misc mnt 空目录 挂载使用

proc sys 内存过载点 不能动
tmp 临时目录
usr 系统软件资源
var 启动可变文档

tab键 一下补全 两下把所有相关的显示
上下键 翻出历史命令 !n运行第n条命令 !!运行上一条命令 !字串 重复执行第一个匹配命令
ctrl+l清屏
ctrl+c或者ctrl+d 强制终止
ctrl+a 移动到命令行首
ctrl+e 移动到行尾
ctrl+z 从光标位删除到行首
ctrl+z 把命令放入后台
ctrl+r 历史命令