Update from Sync Service
This commit is contained in:
@@ -1,60 +1,60 @@
|
||||
==bin core home lib64 mnt root snap tmp vmlinuz==
|
||||
==boot dev initrd.img lost+found opt run srv usr==
|
||||
==bin core home lib64 mnt root snap tmp vmlinuz==
|
||||
==boot dev initrd.img lost+found opt run srv usr==
|
||||
==cdrom etc lib media proc sbin sys var==
|
||||
|
||||
==下面, 我们逐个分析这些文件夹的用处==
|
||||
==bin==
|
||||
==系统 shell (终端) 命令存放于此==
|
||||
==core==
|
||||
==home==
|
||||
==除了root用户以外的用户默认主目录, 每个子目录都是一个用户名==
|
||||
==lib64==
|
||||
==mnt==
|
||||
==root==
|
||||
==root用户的主目录==
|
||||
==snap==
|
||||
==tmp==
|
||||
==boot==
|
||||
==dev==
|
||||
==lost+found==
|
||||
==opt==
|
||||
==供本系统所有用户使用软件一般安装在此==
|
||||
==有人也喜欢把软件安装在== **/usr/local/**
|
||||
==run==
|
||||
==srv==
|
||||
==usr==
|
||||
**/usr/** ==目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本自带的主要的应用程序。==
|
||||
**/usr/local/** ==目录一般安装第三方的软件==
|
||||
**/usr/local/bin** ==放置用户自己安装的小的shell命令,和一些在/usr/local目录下大应用程序的符号连接。==**/usr/local/bin/** ==目录下的命令可以直接在shell里使用==
|
||||
**/usr/share/fonts**==是字体文件夹,可以在这里新建文件夹== **winFonts/**==,把ttf格式的字体放进去==
|
||||
==然后将字体文件拷贝到此文件夹下:==
|
||||
==下面, 我们逐个分析这些文件夹的用处==
|
||||
==bin==
|
||||
==系统 shell (终端) 命令存放于此==
|
||||
==core==
|
||||
==home==
|
||||
==除了root用户以外的用户默认主目录, 每个子目录都是一个用户名==
|
||||
==lib64==
|
||||
==mnt==
|
||||
==root==
|
||||
==root用户的主目录==
|
||||
==snap==
|
||||
==tmp==
|
||||
==boot==
|
||||
==dev==
|
||||
==lost+found==
|
||||
==opt==
|
||||
==供本系统所有用户使用软件一般安装在此==
|
||||
==有人也喜欢把软件安装在== **/usr/local/**
|
||||
==run==
|
||||
==srv==
|
||||
==usr==
|
||||
**/usr/** ==目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本自带的主要的应用程序。==
|
||||
**/usr/local/** ==目录一般安装第三方的软件==
|
||||
**/usr/local/bin** ==放置用户自己安装的小的shell命令,和一些在/usr/local目录下大应用程序的符号连接。==**/usr/local/bin/** ==目录下的命令可以直接在shell里使用==
|
||||
**/usr/share/fonts**==是字体文件夹,可以在这里新建文件夹== **winFonts/**==,把ttf格式的字体放进去==
|
||||
==然后将字体文件拷贝到此文件夹下:==
|
||||
sudo cp ~/Desktop/font/*.ttf /usr/share/fonts/winFonts/
|
||||
|
||||
- ==1==
|
||||
- ==2==
|
||||
|
||||
==然后,改变权限:==
|
||||
==然后,改变权限:==
|
||||
sudo chmod 644 /usr/share/fonts/winFonts/*.ttf
|
||||
|
||||
- ==1==
|
||||
- ==2==
|
||||
|
||||
==cdrom==
|
||||
==etc==
|
||||
==系统全局配置文件一般在此==
|
||||
==/etc/apt/==
|
||||
==Ubuntu 软件源列表, 也就是 apt-get 命令执行时从哪些地方下载包的依据==
|
||||
==lib==
|
||||
==media==
|
||||
==proc==
|
||||
==sbin==
|
||||
==sys==
|
||||
==cdrom==
|
||||
==etc==
|
||||
==系统全局配置文件一般在此==
|
||||
==/etc/apt/==
|
||||
==Ubuntu 软件源列表, 也就是 apt-get 命令执行时从哪些地方下载包的依据==
|
||||
==lib==
|
||||
==media==
|
||||
==proc==
|
||||
==sbin==
|
||||
==sys==
|
||||
==var==
|
||||
\> 来自 \<[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)\>
|
||||
> 来自 <[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)>
|
||||
|
||||
**开始安装**
|
||||
==cd /usr/share/fonts/winFonts/==
|
||||
==sudo mkfontscale (创建雅黑字体的fonts.scale文件,它用来控制字体旋转缩放)==
|
||||
==sudo mkfontdir (创建雅黑字体的fonts.dir文件,它用来控制字体粗斜体产生)==
|
||||
**开始安装**
|
||||
==cd /usr/share/fonts/winFonts/==
|
||||
==sudo mkfontscale (创建雅黑字体的fonts.scale文件,它用来控制字体旋转缩放)==
|
||||
==sudo mkfontdir (创建雅黑字体的fonts.dir文件,它用来控制字体粗斜体产生)==
|
||||
==sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识雅黑)==
|
||||
\> 来自 \<[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)\>
|
||||
> 来自 <[http://blog.csdn.net/caib1109/article/details/51764196](http://blog.csdn.net/caib1109/article/details/51764196)>
|
||||
@@ -1,175 +1,175 @@
|
||||
**命令历史**
|
||||
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
|
||||
**启动vim**
|
||||
在命令行窗口中输入以下命令即可
|
||||
vim 直接启动vim
|
||||
vim filename 打开vim并创建名为filename的文件
|
||||
**文件命令**
|
||||
打开单个文件
|
||||
vim file
|
||||
同时打开多个文件
|
||||
vim file1 file2 file3 ...
|
||||
在vim窗口中打开一个新文件
|
||||
:open file
|
||||
在新窗口中打开文件
|
||||
:split file
|
||||
切换到下一个文件
|
||||
:bn
|
||||
切换到上一个文件
|
||||
:bp
|
||||
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
|
||||
:args
|
||||
打开远程文件,比如ftp或者share folder
|
||||
:e [ftp://192.168.10.76/abc.txt](ftp://192.168.10.76/abc.txt)
|
||||
:e [\\qadrive\test\1.txt](file:///\\qadrive\test\1.txt)
|
||||
**vim的模式**
|
||||
正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空
|
||||
插入模式(按i键进入) 左下角显示--INSERT--
|
||||
可视模式(不知道如何进入) 左下角显示--VISUAL--
|
||||
**导航命令**
|
||||
% 括号匹配
|
||||
**插入命令**
|
||||
i 在当前位置生前插入
|
||||
I 在当前行首插入
|
||||
a 在当前位置后插入
|
||||
A 在当前行尾插入
|
||||
o 在当前行之后插入一行
|
||||
O 在当前行之前插入一行
|
||||
**查找命令**
|
||||
/text 查找text,按n健查找下一个,按N健查找前一个。
|
||||
?text 查找text,反向查找,按n健查找下一个,按N健查找前一个。
|
||||
vim中有一些特殊字符在查找时需要转义 .*[]^%/?~$
|
||||
:set ignorecase 忽略大小写的查找
|
||||
:set noignorecase 不忽略大小写的查找
|
||||
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
|
||||
:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
|
||||
:set nohlsearch 关闭高亮搜索显示
|
||||
:nohlsearch 关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
|
||||
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
|
||||
:set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
|
||||
**替换命令**
|
||||
ra 将当前字符替换为a,当期字符即光标所在字符。
|
||||
s/old/new/ 用old替换new,替换当前行的第一个匹配
|
||||
s/old/new/g 用old替换new,替换当前行的所有匹配
|
||||
%s/old/new/ 用old替换new,替换所有行的第一个匹配
|
||||
%s/old/new/g 用old替换new,替换整个文件的所有匹配
|
||||
:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。
|
||||
ddp 交换光标所在行和其下紧邻的一行。
|
||||
**移动命令**
|
||||
h 左移一个字符
|
||||
l 右移一个字符,这个命令很少用,一般用w代替。
|
||||
k 上移一个字符
|
||||
j 下移一个字符
|
||||
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!\<Esc\>,这里的Esc是必须的,否则命令不生效。
|
||||
w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
|
||||
b 向后移动一个单词 2b 向后移动2个单词
|
||||
e,同w,只不过是光标停在单词尾部
|
||||
ge,同b,光标停在单词尾部。
|
||||
^ 移动到本行第一个非空白字符上。
|
||||
0(数字0)移动到本行第一个字符上,
|
||||
\<HOME\> 移动到本行第一个字符。同0健。
|
||||
$ 移动到行尾 3$ 移动到下面3行的行尾
|
||||
gg 移动到文件头。 = [[
|
||||
G(shift + g) 移动到文件尾。 = ]]
|
||||
f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。
|
||||
F 同f,反向查找。
|
||||
跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。
|
||||
Ctrl + e 向下滚动一行
|
||||
Ctrl + y 向上滚动一行
|
||||
Ctrl + d 向下滚动半屏
|
||||
Ctrl + u 向上滚动半屏
|
||||
Ctrl + f 向下滚动一屏
|
||||
Ctrl + b 向上滚动一屏
|
||||
**撤销和重做**
|
||||
u 撤销(Undo)
|
||||
U 撤销对整行的操作
|
||||
Ctrl + r 重做(Redo),即撤销的撤销。
|
||||
**删除命令**
|
||||
x 删除当前字符
|
||||
3x 删除当前光标开始向后三个字符
|
||||
X 删除当前字符的前一个字符。X=dh
|
||||
dl 删除当前字符, dl=x
|
||||
dh 删除前一个字符
|
||||
dd 删除当前行
|
||||
dj 删除上一行
|
||||
dk 删除下一行
|
||||
10d 删除当前行开始的10行。
|
||||
D 删除当前字符至行尾。D=d$
|
||||
d$ 删除当前字符之后的所有字符(本行)
|
||||
kdgg 删除当前行之前所有行(不包括当前行)
|
||||
jdG(jd shift + g) 删除当前行之后所有行(不包括当前行)
|
||||
:1,10d 删除1-10行
|
||||
:11,$d 删除11行及以后所有的行
|
||||
:1,$d 删除所有行
|
||||
J(shift + j) 删除两行之间的空行,实际上是合并两行。
|
||||
**拷贝和粘贴**
|
||||
yy 拷贝当前行
|
||||
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
|
||||
p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
|
||||
shift+p 在当前行前粘贴
|
||||
:1,10 co 20 将1-10行插入到第20行之后。
|
||||
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
|
||||
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
|
||||
ddp交换当前行和其下一行
|
||||
xp交换当前字符和其后一个字符
|
||||
**剪切命令**
|
||||
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
|
||||
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
|
||||
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
|
||||
:1, 10 m 20 将第1-10行移动到第20行之后。
|
||||
**退出命令**
|
||||
:wq 保存并退出
|
||||
ZZ 保存并退出
|
||||
:q! 强制退出并忽略所有更改
|
||||
:e! 放弃所有修改,并打开原来文件。
|
||||
**窗口命令**
|
||||
:split或new 打开一个新窗口,光标停在顶层的窗口上
|
||||
:split file或:new file 用新窗口打开文件
|
||||
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。
|
||||
Ctrl+ww 移动到下一个窗口
|
||||
Ctrl+wj 移动到下方的窗口
|
||||
Ctrl+wk 移动到上方的窗口
|
||||
关闭窗口
|
||||
:close 最后一个窗口不能使用此命令,可以防止意外退出vim。
|
||||
:q 如果是最后一个被关闭的窗口,那么将退出vim。
|
||||
ZZ 保存并退出。
|
||||
关闭所有窗口,只保留当前窗口
|
||||
:only
|
||||
录制宏
|
||||
按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。
|
||||
**执行shell命令**
|
||||
:!command
|
||||
:!ls 列出当前目录下文件
|
||||
:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,非常方便。
|
||||
:!perl script.pl 执行perl脚本,可以不用退出vim,非常方便。
|
||||
:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim。
|
||||
**注释命令**
|
||||
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
|
||||
3,5 s/^/#/g 注释第3-5行
|
||||
3,5 s/^#//g 解除3-5行的注释
|
||||
1,$ s/^/#/g 注释整个文档。
|
||||
:%s/^/#/g 注释整个文档,此法更快。
|
||||
**帮助命令**
|
||||
:help or F1 显示整个帮助
|
||||
:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。
|
||||
:help 'number' Vim选项的帮助用单引号括起
|
||||
:help \<Esc\> 特殊键的帮助用\<\>扩起
|
||||
:help -t Vim启动参数的帮助用-
|
||||
:help i_\<Esc\> 插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式
|
||||
帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回
|
||||
**其他非编辑命令**
|
||||
. 重复前一次命令
|
||||
:set ruler? 查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看
|
||||
:scriptnames 查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。
|
||||
:set list 显示非打印字符,如tab,空格,行尾等。如果tab无法显示,请确定用set lcs=tab:\>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。
|
||||
Vim教程
|
||||
在Unix系统上
|
||||
$ vimtutor
|
||||
在Windows系统上
|
||||
**命令历史**
|
||||
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
|
||||
**启动vim**
|
||||
在命令行窗口中输入以下命令即可
|
||||
vim 直接启动vim
|
||||
vim filename 打开vim并创建名为filename的文件
|
||||
**文件命令**
|
||||
打开单个文件
|
||||
vim file
|
||||
同时打开多个文件
|
||||
vim file1 file2 file3 ...
|
||||
在vim窗口中打开一个新文件
|
||||
:open file
|
||||
在新窗口中打开文件
|
||||
:split file
|
||||
切换到下一个文件
|
||||
:bn
|
||||
切换到上一个文件
|
||||
:bp
|
||||
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
|
||||
:args
|
||||
打开远程文件,比如ftp或者share folder
|
||||
:e [ftp://192.168.10.76/abc.txt](ftp://192.168.10.76/abc.txt)
|
||||
:e [\\qadrive\test\1.txt](file:///\\qadrive\test\1.txt)
|
||||
**vim的模式**
|
||||
正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空
|
||||
插入模式(按i键进入) 左下角显示--INSERT--
|
||||
可视模式(不知道如何进入) 左下角显示--VISUAL--
|
||||
**导航命令**
|
||||
% 括号匹配
|
||||
**插入命令**
|
||||
i 在当前位置生前插入
|
||||
I 在当前行首插入
|
||||
a 在当前位置后插入
|
||||
A 在当前行尾插入
|
||||
o 在当前行之后插入一行
|
||||
O 在当前行之前插入一行
|
||||
**查找命令**
|
||||
/text 查找text,按n健查找下一个,按N健查找前一个。
|
||||
?text 查找text,反向查找,按n健查找下一个,按N健查找前一个。
|
||||
vim中有一些特殊字符在查找时需要转义 .*[]^%/?~$
|
||||
:set ignorecase 忽略大小写的查找
|
||||
:set noignorecase 不忽略大小写的查找
|
||||
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
|
||||
:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
|
||||
:set nohlsearch 关闭高亮搜索显示
|
||||
:nohlsearch 关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
|
||||
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
|
||||
:set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
|
||||
**替换命令**
|
||||
ra 将当前字符替换为a,当期字符即光标所在字符。
|
||||
s/old/new/ 用old替换new,替换当前行的第一个匹配
|
||||
s/old/new/g 用old替换new,替换当前行的所有匹配
|
||||
%s/old/new/ 用old替换new,替换所有行的第一个匹配
|
||||
%s/old/new/g 用old替换new,替换整个文件的所有匹配
|
||||
:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。
|
||||
ddp 交换光标所在行和其下紧邻的一行。
|
||||
**移动命令**
|
||||
h 左移一个字符
|
||||
l 右移一个字符,这个命令很少用,一般用w代替。
|
||||
k 上移一个字符
|
||||
j 下移一个字符
|
||||
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!<Esc>,这里的Esc是必须的,否则命令不生效。
|
||||
w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
|
||||
b 向后移动一个单词 2b 向后移动2个单词
|
||||
e,同w,只不过是光标停在单词尾部
|
||||
ge,同b,光标停在单词尾部。
|
||||
^ 移动到本行第一个非空白字符上。
|
||||
0(数字0)移动到本行第一个字符上,
|
||||
<HOME> 移动到本行第一个字符。同0健。
|
||||
$ 移动到行尾 3$ 移动到下面3行的行尾
|
||||
gg 移动到文件头。 = [[
|
||||
G(shift + g) 移动到文件尾。 = ]]
|
||||
f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。
|
||||
F 同f,反向查找。
|
||||
跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。
|
||||
Ctrl + e 向下滚动一行
|
||||
Ctrl + y 向上滚动一行
|
||||
Ctrl + d 向下滚动半屏
|
||||
Ctrl + u 向上滚动半屏
|
||||
Ctrl + f 向下滚动一屏
|
||||
Ctrl + b 向上滚动一屏
|
||||
**撤销和重做**
|
||||
u 撤销(Undo)
|
||||
U 撤销对整行的操作
|
||||
Ctrl + r 重做(Redo),即撤销的撤销。
|
||||
**删除命令**
|
||||
x 删除当前字符
|
||||
3x 删除当前光标开始向后三个字符
|
||||
X 删除当前字符的前一个字符。X=dh
|
||||
dl 删除当前字符, dl=x
|
||||
dh 删除前一个字符
|
||||
dd 删除当前行
|
||||
dj 删除上一行
|
||||
dk 删除下一行
|
||||
10d 删除当前行开始的10行。
|
||||
D 删除当前字符至行尾。D=d$
|
||||
d$ 删除当前字符之后的所有字符(本行)
|
||||
kdgg 删除当前行之前所有行(不包括当前行)
|
||||
jdG(jd shift + g) 删除当前行之后所有行(不包括当前行)
|
||||
:1,10d 删除1-10行
|
||||
:11,$d 删除11行及以后所有的行
|
||||
:1,$d 删除所有行
|
||||
J(shift + j) 删除两行之间的空行,实际上是合并两行。
|
||||
**拷贝和粘贴**
|
||||
yy 拷贝当前行
|
||||
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
|
||||
p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
|
||||
shift+p 在当前行前粘贴
|
||||
:1,10 co 20 将1-10行插入到第20行之后。
|
||||
:1,$ co $ 将整个文件复制一份并添加到文件尾部。
|
||||
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
|
||||
ddp交换当前行和其下一行
|
||||
xp交换当前字符和其后一个字符
|
||||
**剪切命令**
|
||||
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
|
||||
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
|
||||
:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
|
||||
:1, 10 m 20 将第1-10行移动到第20行之后。
|
||||
**退出命令**
|
||||
:wq 保存并退出
|
||||
ZZ 保存并退出
|
||||
:q! 强制退出并忽略所有更改
|
||||
:e! 放弃所有修改,并打开原来文件。
|
||||
**窗口命令**
|
||||
:split或new 打开一个新窗口,光标停在顶层的窗口上
|
||||
:split file或:new file 用新窗口打开文件
|
||||
split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。
|
||||
Ctrl+ww 移动到下一个窗口
|
||||
Ctrl+wj 移动到下方的窗口
|
||||
Ctrl+wk 移动到上方的窗口
|
||||
关闭窗口
|
||||
:close 最后一个窗口不能使用此命令,可以防止意外退出vim。
|
||||
:q 如果是最后一个被关闭的窗口,那么将退出vim。
|
||||
ZZ 保存并退出。
|
||||
关闭所有窗口,只保留当前窗口
|
||||
:only
|
||||
录制宏
|
||||
按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。
|
||||
**执行shell命令**
|
||||
:!command
|
||||
:!ls 列出当前目录下文件
|
||||
:!perl -c script.pl 检查perl脚本语法,可以不用退出vim,非常方便。
|
||||
:!perl script.pl 执行perl脚本,可以不用退出vim,非常方便。
|
||||
:suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim。
|
||||
**注释命令**
|
||||
perl程序中#开始的行为注释,所以要注释某些行,只需在行首加入#
|
||||
3,5 s/^/#/g 注释第3-5行
|
||||
3,5 s/^#//g 解除3-5行的注释
|
||||
1,$ s/^/#/g 注释整个文档。
|
||||
:%s/^/#/g 注释整个文档,此法更快。
|
||||
**帮助命令**
|
||||
:help or F1 显示整个帮助
|
||||
:help xxx 显示xxx的帮助,比如 :help i, :help CTRL-[(即Ctrl+[的帮助)。
|
||||
:help 'number' Vim选项的帮助用单引号括起
|
||||
:help <Esc> 特殊键的帮助用<>扩起
|
||||
:help -t Vim启动参数的帮助用-
|
||||
:help i_<Esc> 插入模式下Esc的帮助,某个模式下的帮助用模式_主题的模式
|
||||
帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回
|
||||
**其他非编辑命令**
|
||||
. 重复前一次命令
|
||||
:set ruler? 查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看
|
||||
:scriptnames 查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。
|
||||
:set list 显示非打印字符,如tab,空格,行尾等。如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。
|
||||
Vim教程
|
||||
在Unix系统上
|
||||
$ vimtutor
|
||||
在Windows系统上
|
||||
:help tutor
|
||||
|
||||
:syntax 列出已经定义的语法项
|
||||
:syntax clear 清除已定义的语法规则
|
||||
:syntax case match 大小写敏感,int和Int将视为不同的语法元素
|
||||
|
||||
:syntax 列出已经定义的语法项
|
||||
:syntax clear 清除已定义的语法规则
|
||||
:syntax case match 大小写敏感,int和Int将视为不同的语法元素
|
||||
:syntax case ignore 大小写无关,int和Int将视为相同的语法元素,并使用同样的配色方案
|
||||
\> 来自 \<[https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)\>
|
||||
> 来自 <[https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html](https://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html)>
|
||||
20
Lunix/Ubuntu/ubuntu中管理用户和用户组.md
Executable file
20
Lunix/Ubuntu/ubuntu中管理用户和用户组.md
Executable file
@@ -0,0 +1,20 @@
|
||||
1. 添加一个用户组并指定id为1002
|
||||
sudo groupadd -g 1002 www
|
||||
|
||||
2. 添加一个用户到www组并指定id为1003
|
||||
sudo useradd wyx -g 1002 -u 1003 -m
|
||||
|
||||
3. 修改用户的密码
|
||||
sudo passwd wyx
|
||||
|
||||
4. 删除一个用户
|
||||
sudo userdel wyx
|
||||
|
||||
5. 为该用户添加sudo权限
|
||||
sudo usermod -a -G adm wyx
|
||||
sudo usermod -a -G sudo wyx
|
||||
|
||||
6. 查看所有用户和用户组:
|
||||
cat /etc/passwd
|
||||
cat /etc/group
|
||||
> 来自 <[https://www.cnblogs.com/vincedotnet/p/4017574.html](https://www.cnblogs.com/vincedotnet/p/4017574.html)>
|
||||
@@ -1,7 +1,7 @@
|
||||
netstat –tln //查看服务监听端口
|
||||
netstat //查看进程号
|
||||
ps –aux //查看进程号
|
||||
ps –aux | more //全部查看
|
||||
ps –ef | grep mysql //查看mysql的进程
|
||||
netstat –tln //查看服务监听端口
|
||||
netstat //查看进程号
|
||||
ps –aux //查看进程号
|
||||
ps –aux | more //全部查看
|
||||
ps –ef | grep mysql //查看mysql的进程
|
||||
kill -9 3306 //强制杀掉进程号3306
|
||||
\> 来自 \<[http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html](http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html)\>
|
||||
> 来自 <[http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html](http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html)>
|
||||
@@ -1,9 +1,9 @@
|
||||
==Linux====提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在====Linux====系== ==统上工作离不开使用系统提供的命令。要想真正理解====Linux====系统,就必须从====Linux====命令学起,通过基础的命令学习可以进一步理解====Linux====系统。==
|
||||
==不同====Linux====发行版的命令数量不一样,但====Linux====发行版本最少的命令也有====200====多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。==
|
||||
==◆== ==安装和登录命令:====login====、====shutdown====、====halt====、====reboot====、====install====、====mount====、====umount====、====chsh====、====exit====、====last====;==
|
||||
==◆== ==文件处理命令:====file====、====mkdir====、====grep====、====dd====、====find====、====mv====、====ls====、====diff====、====cat====、====ln====;==
|
||||
==◆== ==系统管理相关命令:====df====、====top====、====free====、====quota====、====at====、====lp====、====adduser====、====groupadd====、====kill====、====crontab====;==
|
||||
==◆== ==网络操作命令:====ifconfig====、====ip====、====ping====、====netstat====、====telnet====、====ftp====、====route====、====rlogin====、====rcp====、====finger====、====mail====、== ==nslookup====;==
|
||||
==◆== ==系统安全相关命令:====passwd====、====su====、====umask====、====chgrp====、====chmod====、====chown====、====chattr====、====sudo ps====、====who====;==
|
||||
==Linux====提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在====Linux====系== ==统上工作离不开使用系统提供的命令。要想真正理解====Linux====系统,就必须从====Linux====命令学起,通过基础的命令学习可以进一步理解====Linux====系统。==
|
||||
==不同====Linux====发行版的命令数量不一样,但====Linux====发行版本最少的命令也有====200====多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。==
|
||||
==◆== ==安装和登录命令:====login====、====shutdown====、====halt====、====reboot====、====install====、====mount====、====umount====、====chsh====、====exit====、====last====;==
|
||||
==◆== ==文件处理命令:====file====、====mkdir====、====grep====、====dd====、====find====、====mv====、====ls====、====diff====、====cat====、====ln====;==
|
||||
==◆== ==系统管理相关命令:====df====、====top====、====free====、====quota====、====at====、====lp====、====adduser====、====groupadd====、====kill====、====crontab====;==
|
||||
==◆== ==网络操作命令:====ifconfig====、====ip====、====ping====、====netstat====、====telnet====、====ftp====、====route====、====rlogin====、====rcp====、====finger====、====mail====、== ==nslookup====;==
|
||||
==◆== ==系统安全相关命令:====passwd====、====su====、====umask====、====chgrp====、====chmod====、====chown====、====chattr====、====sudo ps====、====who====;==
|
||||
==◆== ==其它命令:====tar====、====unzip====、====gunzip====、====unarj====、====mtools====、====man====、====unendcode====、====uudecode====。==
|
||||
\> 来自 \<[https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html](https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html)\>
|
||||
> 来自 <[https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html](https://www.cnblogs.com/tangbinblog/archive/2012/10/17/2727942.html)>
|
||||
@@ -14,169 +14,169 @@
|
||||
|
||||
1. ==cp 文件 最终路径==
|
||||
2. ==cp -r 文件夹 最终路径 (这样可以把一个文件夹的所有文件全部移到最终路径)==
|
||||
\>
|
||||
**apt-get:**
|
||||
==debian系系统的软件包管理程序(其图形化前端就是大名鼎鼎的新立得了),会自动帮你搞定依赖关系==
|
||||
==最常用参数:==
|
||||
==update —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要执行==
|
||||
==upgrade —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升级==
|
||||
==install —-安装软件包(可以使用tab补全软件包的名字,比较方便)==
|
||||
==remove —-卸载软件包==
|
||||
==purge —-卸载软件包,同时删除该软件的配置文件==
|
||||
==source —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定–download-only参数)==
|
||||
==该地址由/etc/apt/sources.list中的 deb-src 行指定==
|
||||
==check —-用来(自动)修复(已装)软件包之间的依赖关系==
|
||||
==clean —-清除/var/cache/apt/archives/包括其子目录partial/下的所有软件包缓存==
|
||||
==autoclean —-比clean常用,我的理解是删除低版本的缓存而保留高版本的(或者包括非当前源里的软件包?)==
|
||||
**aptitude:**
|
||||
==此为PT同学补充,他的说法是aptitude比apt-get少个横线,tab补全比较容易(=.=)~大概神牛都比较懒吧==
|
||||
==不得不提下蛋蛋童鞋以前说过的ubuntu彩蛋:) \<仅限于UBUNTU 8.04\>==
|
||||
==man apt —-最后会看到 “本apt有着超级牛力” or “this APT has a super-cow power”==
|
||||
==man aptitude —-会看到 “这个aptitude没有超级牛力”==
|
||||
==看看aptitude的参数,你就会明白为什么aptitude会标称”高级软件包管理程序”了==
|
||||
==最常用参数:==
|
||||
==search —-在(你的源的)所有软件包列表中搜索该软件,search的表达式可以很复杂,具体看man==
|
||||
==其余常用参数同apt-get==
|
||||
**cat:**
|
||||
==把(一个或多个)文件内容(连接)显示到标准输出==
|
||||
==当文本文件很小,而且你只是想看下,并不打算用gedit或者vim之类编辑器编辑的时候,可以cat一下,我是用来配合grep使用==
|
||||
**cd:**
|
||||
==切换当前工作目录==
|
||||
==不同于其他命令,这是一个shell内置命令,所以没有手册页可看…够基础,所以才会出现在本篇文章中(=.=)郁闷==
|
||||
==最常用参数:==
|
||||
==. —-切换到当前目录(貌似没有什么意义)(.这个目录可以通过ls -a看到)==
|
||||
==.. —-切换到上层目录==
|
||||
==~ —-回到家目录(/home/你的登录名/)==
|
||||
**chmod**==:==
|
||||
==改变文件的权限位==
|
||||
==linux文件系统的权限位有两种表示方法,要是详细说下,非得累死老鼠不可=.=,所以只说8进制数表示:)==
|
||||
==简要介绍下:ls -l可以显示出文件的权限,比如(-rwxr-xr–),代表了三种用户的权限==
|
||||
==第一个rwx,代表文件所有者的权限,即(读,写,执行),用二进制表示为111,代表八进制中的4+2+1=7==
|
||||
==第二个r-x,代表文件所有者同一用户组其他用户的权限,即(读, ,执行),用二进制表示为101,代表八进制中的5=4+0+1==
|
||||
==第三个r–,代表其他用户的权限,即(读, , ),二进制表示为100,代表八进制的4=4+0+0==
|
||||
==所以这个文件的权限位为754==
|
||||
==这也就是chmod的用法,例如chmod 751 myfile #将该文件权限设定为rwxr-x–x==
|
||||
==最常用参数:==
|
||||
==-v —-列出当前正在执行的步骤==
|
||||
==-R —-递归式,即改变非空目录下的一切为指定权限==
|
||||
**cp**==:==
|
||||
==拷贝文件和目录==
|
||||
==最常用参数:==
|
||||
==-b —-为每个已经存在的目的文件作个备份==
|
||||
==-d —-遇到软链接时不拷贝软链接所指向的文件;拷贝时保留links属性(链接数)==
|
||||
==-p —-保留文件的访问权限,所有者,和时间戳==
|
||||
==-R和-r —-递归式拷贝(cp过程遇到非空目录才有效),即拷贝目录,子目录,子目录的子目录…..==
|
||||
==-a —-作用同-dpR==
|
||||
==-s —-并不真的做拷贝,而只是为每个文件作软链接(符号链接)==
|
||||
==-u —-同下面 mv 的-u参数==
|
||||
**head, tail**
|
||||
==就像这两个名字,一个显示文件头部,一个显示尾部==
|
||||
==最常用参数:==
|
||||
==-n —-指定输出的(头部或尾部)行数, 当没有此参数时,默认显示10行==
|
||||
**ifconfig**==:==
|
||||
==配置网卡==
|
||||
==最常用参数:==
|
||||
==没有参数 —-列出当前活动网卡的状态==
|
||||
==-a —-列出所有网卡的状态==
|
||||
==interface —-指定网卡名称比如eth0==
|
||||
==up —-唤醒该网卡==
|
||||
==down —-关闭该网卡==
|
||||
==arp,mtu,netmask addr,…等等很多参数 =.===
|
||||
**ln**==:==
|
||||
==为文件建立链接==
|
||||
==linux的链接分为两种:硬链接和软链接,ln默认建立硬链接(hard link),两种的区别请自己搜索:)==
|
||||
==最常用参数:==
|
||||
==-s —-建立软链接(符号链接,可以理解为win下的快捷方式)==
|
||||
==-f —-如果要建立的链接名已经存在,则删除之==
|
||||
**ls**==:==
|
||||
==显示目录内容==
|
||||
==最常用参数:==
|
||||
==-a —-显示指定目录所有文件,包括文件名以 . 开头的文件==
|
||||
==-l —-显示文件详细信息(包括文件类型,权限,修改时间,访问时间,大小,文件名…)==
|
||||
==-h —-将文件大小以方便阅读的形式表示出来,配合 -l 参数使用,常有奇效==
|
||||
**man**==:==
|
||||
==阅读参考手册of~==
|
||||
==题外话:HX说这是linux最最难学的命令,因为man你学好了,就没有什么命令能难倒你了,=.=无敌了==
|
||||
==man可以查的不仅仅是命令额(当然,因为man是无敌的嘛/ch)==
|
||||
==最常用参数:==
|
||||
==man 阿拉伯数字==
|
||||
==阿拉伯数字1: 可执行程序(一般为用户安装的程序,如果提供了manpages的话)和shell命令==
|
||||
==阿拉伯数字2: 系统调用(例如 open调用,socket调用,chmod调用 等等等等),先装manpages-dev先==
|
||||
==阿拉伯数字3: 库函数调用(例如 man 3 printf),先装manpages-dev先==
|
||||
==…….==
|
||||
==当你执行man ls 时, 和 man 1 ls结果是一样的,因为ls在man手册中只有一个入口==
|
||||
==当你想看chmod调用的手册页时,就要特别指定 man 2 chmod了~~因为chmod不止有一个入口==
|
||||
==在man的时候,可以通过j,k上下移动(和vi中类似),可以通过/查询,通过n,N查找下个,上个匹配(和vi类似)==
|
||||
==q退出(也和vi类似….)==
|
||||
==比较有意思的一点:==
|
||||
==由于man 本身是个命令,所以,连man都是可以man的 =.===
|
||||
**mkdir**==:==
|
||||
==创建一个目录==
|
||||
==最常用参数:==
|
||||
==-p —-如果给出的路径中父目录不存在,则同时创建父目录==
|
||||
**mount**==:==
|
||||
==挂载文件系统(可理解为挂载一个分区)==
|
||||
==最常用参数:==
|
||||
==-t —-指定文件系统类型,比如iso9660(挂载iso镜像为光盘,相当于虚拟光驱),ntfs,ext3,rfs等等==
|
||||
==-l —-列出所有已经挂载的文件系统,支持卷标==
|
||||
==-a —-挂载fstab中记录的所有分区==
|
||||
==-n —-挂载的时候不写入/etc/mtab==
|
||||
==-o —-相当常用的一个参数,指定挂载文件系统的”选项”,比如noatime,用来挂载BT专用分区很合适==
|
||||
**mv**==:==
|
||||
==移动或者更名文件,取决于目的目录是否为当前目录==
|
||||
==最常用参数:==
|
||||
==-b —-为每个已经存在的目的文件做个备份(防止覆盖)==
|
||||
==-f —-不提示是否覆盖已经存在的目的文件==
|
||||
==-i —-与-f参数相反==
|
||||
==-u —-仅当源文件比目的文件更新或者目的文件不存在时候才移动==
|
||||
==-v —-显示移动文件的进度(个人总是推荐使用此参数,明白你在做什么)==
|
||||
**ps,top:**
|
||||
==列出当前命令的执行状态,ps为静态,top为动态(top时’q’退出)==
|
||||
==ps:这个命令本人更常用些,推荐给你看看=.===
|
||||
==最常用参数(ps多用参数集合,而不是单个参数,并且配合grep使用)==
|
||||
==-ef —-以标准语法列出当前所有进程状态,例如ps -ef | grep eva #列出eva的进程状态==
|
||||
==aux —-以BSD语法列出………………………………..==
|
||||
==-ejH —-列出进程树==
|
||||
==-eLf —-同时列出线程状态==
|
||||
**rm, rmdir:**
|
||||
==rm:删除文件或目录,rmdir:删除一个空目录(此命令个人认为没啥用,可以用rm -r替代)==
|
||||
==rm最常用参数:==
|
||||
==-f —-不提示不存在的文件,直接跳过==
|
||||
==-i —-每个删除动作都提示 (=.= 删除多的话岂不是烦死)==
|
||||
==-I —-删除多个文件(多于3个时)或者递归式删除(对于非空目录)提示一次==
|
||||
==-r和-R —-递归式删除该目录下的一切东东==
|
||||
==-v —-显示每个文件的删除动作(个人总是推荐使用此参数,明白你在做什么)==
|
||||
**sudo,su:**
|
||||
==这大概是装好系统之后第一个要用的命令吧?==
|
||||
==sudo我们主要用来临时提升权限,主要用以管理员(超级用户)的权限来运行命令,当需要修改当前登录用户力所不能及的文件/目录==
|
||||
==时需要用sudo,或者su -c,当然sudo和su的作用范围不仅仅如此==
|
||||
==可以使用visudo来编辑/etc/sudoers文件来修改sudo更详细的动作(比如记住密码的时间戳长度),请谨慎修改!==
|
||||
**sh:**
|
||||
==在终端解释执行==
|
||||
==类似于’./’的形式,但PT给了不同点: ‘./’仅仅对当前目录下有执行权限的程序才有效,’sh’则不管这套==
|
||||
==想想也是哈, ‘./’仅仅是给出了一个文件的路径(在当前目录下)而已, 但这个文件能不能执行就不好说了==
|
||||
==所以用sh总是正确的==
|
||||
**shutdown:**
|
||||
==关闭系统,如果停留在TTY,请改用halt, poweroff等命令==
|
||||
==常用参数:==
|
||||
==+m —-指定关机延迟的分钟==
|
||||
==-c —-取消一个等待关机的请求(关掉运行此命令的终端也可:))==
|
||||
==now —-立即关机==
|
||||
==hh:mm —-手动指定时间(以24小时计)==
|
||||
**tar:**
|
||||
==打包/解包==
|
||||
==这个tar不多说了吧..到处都是tar.gz,tar.bz2的东东==
|
||||
==和ps命令一样,tar一般不用单个参数,而是多个参数的组合,记住参数x是解压(extract),c是创建包(creat)即可==
|
||||
==最常用参数:==
|
||||
==-xvf —-详细列出解包的步骤==
|
||||
==-cvf —-详细列出打包的步骤==
|
||||
==-j —-用来说明这是个tar.bz2包,例如tar -xjvf myfile.tar.bz2==
|
||||
==-t —-列出包中的文件列表==
|
||||
==—–打包时常追加的参数:==
|
||||
==-r —-追加到压缩包中==
|
||||
==-u —-只把比包中更新的文件追加进去==
|
||||
==-h —-不把符号链接添加到包中,而是添加此符号链接指向的文件==
|
||||
==附加说明:tar是个太强大的东东,常用的操作也就是打包解包,高级功能还是参阅man =.===
|
||||
**touch:**
|
||||
>
|
||||
**apt-get:**
|
||||
==debian系系统的软件包管理程序(其图形化前端就是大名鼎鼎的新立得了),会自动帮你搞定依赖关系==
|
||||
==最常用参数:==
|
||||
==update —-与你的软件源(在/etc/apt/sources.list中列出)更新软件包列表,换源后需要执行==
|
||||
==upgrade —-根据update得到的源软件库与本地已经安装的对比,(如果需要升级就)全部升级==
|
||||
==install —-安装软件包(可以使用tab补全软件包的名字,比较方便)==
|
||||
==remove —-卸载软件包==
|
||||
==purge —-卸载软件包,同时删除该软件的配置文件==
|
||||
==source —-从源里下载软件包的源码到当前目录(执行此命令的目录)并解压(除非指定–download-only参数)==
|
||||
==该地址由/etc/apt/sources.list中的 deb-src 行指定==
|
||||
==check —-用来(自动)修复(已装)软件包之间的依赖关系==
|
||||
==clean —-清除/var/cache/apt/archives/包括其子目录partial/下的所有软件包缓存==
|
||||
==autoclean —-比clean常用,我的理解是删除低版本的缓存而保留高版本的(或者包括非当前源里的软件包?)==
|
||||
**aptitude:**
|
||||
==此为PT同学补充,他的说法是aptitude比apt-get少个横线,tab补全比较容易(=.=)~大概神牛都比较懒吧==
|
||||
==不得不提下蛋蛋童鞋以前说过的ubuntu彩蛋:) <仅限于UBUNTU 8.04>==
|
||||
==man apt —-最后会看到 “本apt有着超级牛力” or “this APT has a super-cow power”==
|
||||
==man aptitude —-会看到 “这个aptitude没有超级牛力”==
|
||||
==看看aptitude的参数,你就会明白为什么aptitude会标称”高级软件包管理程序”了==
|
||||
==最常用参数:==
|
||||
==search —-在(你的源的)所有软件包列表中搜索该软件,search的表达式可以很复杂,具体看man==
|
||||
==其余常用参数同apt-get==
|
||||
**cat:**
|
||||
==把(一个或多个)文件内容(连接)显示到标准输出==
|
||||
==当文本文件很小,而且你只是想看下,并不打算用gedit或者vim之类编辑器编辑的时候,可以cat一下,我是用来配合grep使用==
|
||||
**cd:**
|
||||
==切换当前工作目录==
|
||||
==不同于其他命令,这是一个shell内置命令,所以没有手册页可看…够基础,所以才会出现在本篇文章中(=.=)郁闷==
|
||||
==最常用参数:==
|
||||
==. —-切换到当前目录(貌似没有什么意义)(.这个目录可以通过ls -a看到)==
|
||||
==.. —-切换到上层目录==
|
||||
==~ —-回到家目录(/home/你的登录名/)==
|
||||
**chmod**==:==
|
||||
==改变文件的权限位==
|
||||
==linux文件系统的权限位有两种表示方法,要是详细说下,非得累死老鼠不可=.=,所以只说8进制数表示:)==
|
||||
==简要介绍下:ls -l可以显示出文件的权限,比如(-rwxr-xr–),代表了三种用户的权限==
|
||||
==第一个rwx,代表文件所有者的权限,即(读,写,执行),用二进制表示为111,代表八进制中的4+2+1=7==
|
||||
==第二个r-x,代表文件所有者同一用户组其他用户的权限,即(读, ,执行),用二进制表示为101,代表八进制中的5=4+0+1==
|
||||
==第三个r–,代表其他用户的权限,即(读, , ),二进制表示为100,代表八进制的4=4+0+0==
|
||||
==所以这个文件的权限位为754==
|
||||
==这也就是chmod的用法,例如chmod 751 myfile #将该文件权限设定为rwxr-x–x==
|
||||
==最常用参数:==
|
||||
==-v —-列出当前正在执行的步骤==
|
||||
==-R —-递归式,即改变非空目录下的一切为指定权限==
|
||||
**cp**==:==
|
||||
==拷贝文件和目录==
|
||||
==最常用参数:==
|
||||
==-b —-为每个已经存在的目的文件作个备份==
|
||||
==-d —-遇到软链接时不拷贝软链接所指向的文件;拷贝时保留links属性(链接数)==
|
||||
==-p —-保留文件的访问权限,所有者,和时间戳==
|
||||
==-R和-r —-递归式拷贝(cp过程遇到非空目录才有效),即拷贝目录,子目录,子目录的子目录…..==
|
||||
==-a —-作用同-dpR==
|
||||
==-s —-并不真的做拷贝,而只是为每个文件作软链接(符号链接)==
|
||||
==-u —-同下面 mv 的-u参数==
|
||||
**head, tail**
|
||||
==就像这两个名字,一个显示文件头部,一个显示尾部==
|
||||
==最常用参数:==
|
||||
==-n —-指定输出的(头部或尾部)行数, 当没有此参数时,默认显示10行==
|
||||
**ifconfig**==:==
|
||||
==配置网卡==
|
||||
==最常用参数:==
|
||||
==没有参数 —-列出当前活动网卡的状态==
|
||||
==-a —-列出所有网卡的状态==
|
||||
==interface —-指定网卡名称比如eth0==
|
||||
==up —-唤醒该网卡==
|
||||
==down —-关闭该网卡==
|
||||
==arp,mtu,netmask addr,…等等很多参数 =.===
|
||||
**ln**==:==
|
||||
==为文件建立链接==
|
||||
==linux的链接分为两种:硬链接和软链接,ln默认建立硬链接(hard link),两种的区别请自己搜索:)==
|
||||
==最常用参数:==
|
||||
==-s —-建立软链接(符号链接,可以理解为win下的快捷方式)==
|
||||
==-f —-如果要建立的链接名已经存在,则删除之==
|
||||
**ls**==:==
|
||||
==显示目录内容==
|
||||
==最常用参数:==
|
||||
==-a —-显示指定目录所有文件,包括文件名以 . 开头的文件==
|
||||
==-l —-显示文件详细信息(包括文件类型,权限,修改时间,访问时间,大小,文件名…)==
|
||||
==-h —-将文件大小以方便阅读的形式表示出来,配合 -l 参数使用,常有奇效==
|
||||
**man**==:==
|
||||
==阅读参考手册of~==
|
||||
==题外话:HX说这是linux最最难学的命令,因为man你学好了,就没有什么命令能难倒你了,=.=无敌了==
|
||||
==man可以查的不仅仅是命令额(当然,因为man是无敌的嘛/ch)==
|
||||
==最常用参数:==
|
||||
==man 阿拉伯数字==
|
||||
==阿拉伯数字1: 可执行程序(一般为用户安装的程序,如果提供了manpages的话)和shell命令==
|
||||
==阿拉伯数字2: 系统调用(例如 open调用,socket调用,chmod调用 等等等等),先装manpages-dev先==
|
||||
==阿拉伯数字3: 库函数调用(例如 man 3 printf),先装manpages-dev先==
|
||||
==…….==
|
||||
==当你执行man ls 时, 和 man 1 ls结果是一样的,因为ls在man手册中只有一个入口==
|
||||
==当你想看chmod调用的手册页时,就要特别指定 man 2 chmod了~~因为chmod不止有一个入口==
|
||||
==在man的时候,可以通过j,k上下移动(和vi中类似),可以通过/查询,通过n,N查找下个,上个匹配(和vi类似)==
|
||||
==q退出(也和vi类似….)==
|
||||
==比较有意思的一点:==
|
||||
==由于man 本身是个命令,所以,连man都是可以man的 =.===
|
||||
**mkdir**==:==
|
||||
==创建一个目录==
|
||||
==最常用参数:==
|
||||
==-p —-如果给出的路径中父目录不存在,则同时创建父目录==
|
||||
**mount**==:==
|
||||
==挂载文件系统(可理解为挂载一个分区)==
|
||||
==最常用参数:==
|
||||
==-t —-指定文件系统类型,比如iso9660(挂载iso镜像为光盘,相当于虚拟光驱),ntfs,ext3,rfs等等==
|
||||
==-l —-列出所有已经挂载的文件系统,支持卷标==
|
||||
==-a —-挂载fstab中记录的所有分区==
|
||||
==-n —-挂载的时候不写入/etc/mtab==
|
||||
==-o —-相当常用的一个参数,指定挂载文件系统的”选项”,比如noatime,用来挂载BT专用分区很合适==
|
||||
**mv**==:==
|
||||
==移动或者更名文件,取决于目的目录是否为当前目录==
|
||||
==最常用参数:==
|
||||
==-b —-为每个已经存在的目的文件做个备份(防止覆盖)==
|
||||
==-f —-不提示是否覆盖已经存在的目的文件==
|
||||
==-i —-与-f参数相反==
|
||||
==-u —-仅当源文件比目的文件更新或者目的文件不存在时候才移动==
|
||||
==-v —-显示移动文件的进度(个人总是推荐使用此参数,明白你在做什么)==
|
||||
**ps,top:**
|
||||
==列出当前命令的执行状态,ps为静态,top为动态(top时’q’退出)==
|
||||
==ps:这个命令本人更常用些,推荐给你看看=.===
|
||||
==最常用参数(ps多用参数集合,而不是单个参数,并且配合grep使用)==
|
||||
==-ef —-以标准语法列出当前所有进程状态,例如ps -ef | grep eva #列出eva的进程状态==
|
||||
==aux —-以BSD语法列出………………………………..==
|
||||
==-ejH —-列出进程树==
|
||||
==-eLf —-同时列出线程状态==
|
||||
**rm, rmdir:**
|
||||
==rm:删除文件或目录,rmdir:删除一个空目录(此命令个人认为没啥用,可以用rm -r替代)==
|
||||
==rm最常用参数:==
|
||||
==-f —-不提示不存在的文件,直接跳过==
|
||||
==-i —-每个删除动作都提示 (=.= 删除多的话岂不是烦死)==
|
||||
==-I —-删除多个文件(多于3个时)或者递归式删除(对于非空目录)提示一次==
|
||||
==-r和-R —-递归式删除该目录下的一切东东==
|
||||
==-v —-显示每个文件的删除动作(个人总是推荐使用此参数,明白你在做什么)==
|
||||
**sudo,su:**
|
||||
==这大概是装好系统之后第一个要用的命令吧?==
|
||||
==sudo我们主要用来临时提升权限,主要用以管理员(超级用户)的权限来运行命令,当需要修改当前登录用户力所不能及的文件/目录==
|
||||
==时需要用sudo,或者su -c,当然sudo和su的作用范围不仅仅如此==
|
||||
==可以使用visudo来编辑/etc/sudoers文件来修改sudo更详细的动作(比如记住密码的时间戳长度),请谨慎修改!==
|
||||
**sh:**
|
||||
==在终端解释执行==
|
||||
==类似于’./’的形式,但PT给了不同点: ‘./’仅仅对当前目录下有执行权限的程序才有效,’sh’则不管这套==
|
||||
==想想也是哈, ‘./’仅仅是给出了一个文件的路径(在当前目录下)而已, 但这个文件能不能执行就不好说了==
|
||||
==所以用sh总是正确的==
|
||||
**shutdown:**
|
||||
==关闭系统,如果停留在TTY,请改用halt, poweroff等命令==
|
||||
==常用参数:==
|
||||
==+m —-指定关机延迟的分钟==
|
||||
==-c —-取消一个等待关机的请求(关掉运行此命令的终端也可:))==
|
||||
==now —-立即关机==
|
||||
==hh:mm —-手动指定时间(以24小时计)==
|
||||
**tar:**
|
||||
==打包/解包==
|
||||
==这个tar不多说了吧..到处都是tar.gz,tar.bz2的东东==
|
||||
==和ps命令一样,tar一般不用单个参数,而是多个参数的组合,记住参数x是解压(extract),c是创建包(creat)即可==
|
||||
==最常用参数:==
|
||||
==-xvf —-详细列出解包的步骤==
|
||||
==-cvf —-详细列出打包的步骤==
|
||||
==-j —-用来说明这是个tar.bz2包,例如tar -xjvf myfile.tar.bz2==
|
||||
==-t —-列出包中的文件列表==
|
||||
==—–打包时常追加的参数:==
|
||||
==-r —-追加到压缩包中==
|
||||
==-u —-只把比包中更新的文件追加进去==
|
||||
==-h —-不把符号链接添加到包中,而是添加此符号链接指向的文件==
|
||||
==附加说明:tar是个太强大的东东,常用的操作也就是打包解包,高级功能还是参阅man =.===
|
||||
**touch:**
|
||||
==改变文件时间戳,默认包括修改时间和创建时间,默认修改为当前时间,默认如果文件不存在就新建(=.=是不是很罗嗦)==
|
||||
\> 来自 \<[http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)\>
|
||||
> 来自 <[http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html](http://www.ipc.me/ubuntu-useful-commands-collection-for-newbie.html)>
|
||||
@@ -1,401 +1,401 @@
|
||||
==最近在项目中用到了Linux,然后自己只会那些简单的,发现头用的溜溜的,所以查了一下常用的命令,多查,多用。==
|
||||
==系统信息==
|
||||
==arch 显示机器的处理器==**架构**==(1)==
|
||||
==uname -m 显示机器的处理器架构(2)==
|
||||
==uname -r 显示正在使用的内核版本==
|
||||
==dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)==
|
||||
==hdparm -i /dev/hda 罗列一个磁盘的架构特性==
|
||||
==hdparm -tT /dev/sda 在磁盘上执行测试性读取操作==
|
||||
==cat /proc/cpuinfo 显示CPU info的信息==
|
||||
==cat /proc/interrupts 显示中断==
|
||||
==cat /proc/meminfo 校验内存使用==
|
||||
==cat /proc/swaps 显示哪些swap被使用==
|
||||
==cat /proc/version 显示内核的版本==
|
||||
==cat /proc/net/dev 显示网络适配器及统计==
|
||||
==cat /proc/mounts 显示已加载的文件系统==
|
||||
==lspci -tv 罗列 PCI 设备==
|
||||
==lsusb -tv 显示 USB 设备==
|
||||
==date 显示系统日期==
|
||||
==cal 2007 显示2007年的日历表==
|
||||
==date 041217002007.00 设置日期和时间 - 月日时分年.秒==
|
||||
==clock -w 将时间修改保存到 BIOS==
|
||||
|
||||
==关机 (系统的关机、重启以及登出 )==
|
||||
==shutdown -h now 关闭系统(1)==
|
||||
==init 0 关闭系统(2)==
|
||||
==telinit 0 关闭系统(3)==
|
||||
==shutdown -h hours:minutes & 按预定时间关闭系统==
|
||||
==shutdown -c 取消按预定时间关闭系统==
|
||||
==shutdown -r now 重启(1)==
|
||||
==reboot 重启(2)==
|
||||
==logout 注销==
|
||||
|
||||
==文件和目录==
|
||||
==cd /home 进入 '/ home' 目录'==
|
||||
==cd .. 返回上一级目录==
|
||||
==cd ../.. 返回上两级目录==
|
||||
==cd 进入个人的主目录==
|
||||
==cd ~user1 进入个人的主目录==
|
||||
==cd - 返回上次所在的目录==
|
||||
==pwd 显示工作路径==
|
||||
==ls 查看目录中的文件==
|
||||
==ls -F 查看目录中的文件==
|
||||
==ls -l 显示文件和目录的详细资料==
|
||||
==ls -a 显示隐藏文件==
|
||||
==ls *[0-9]* 显示包含数字的文件名和目录名==
|
||||
==tree 显示文件和目录由根目录开始的树形结构(1)==
|
||||
==lstree 显示文件和目录由根目录开始的树形结构(2)==
|
||||
==mkdir dir1 创建一个叫做 'dir1' 的目录'==
|
||||
==mkdir dir1 dir2 同时创建两个目录==
|
||||
==mkdir -p /tmp/dir1/dir2 创建一个目录树==
|
||||
==rm -f file1 删除一个叫做 'file1' 的文件'==
|
||||
==rmdir dir1 删除一个叫做 'dir1' 的目录'==
|
||||
==rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容==
|
||||
==rm -rf dir1 dir2 同时删除两个目录及它们的内容==
|
||||
==mv dir1 new_dir 重命名/移动 一个目录==
|
||||
==cp file1 file2 复制一个文件==
|
||||
==cp dir/* . 复制一个目录下的所有文件到当前工作目录==
|
||||
==cp -a /tmp/dir1 . 复制一个目录到当前工作目录==
|
||||
==cp -a dir1 dir2 复制一个目录==
|
||||
==ln -s file1 lnk1 创建一个指向文件或目录的软链接==
|
||||
==ln file1 lnk1 创建一个指向文件或目录的物理链接==
|
||||
==touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)==
|
||||
==file file1 outputs the mime type of the file as text==
|
||||
==iconv -l 列出已知的编码==
|
||||
==iconv -f fromEncoding -t toEncoding inputFile \> outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.==
|
||||
==find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)==
|
||||
|
||||
==文件搜索==
|
||||
==find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录==
|
||||
==find / -user user1 搜索属于用户 'user1' 的文件和目录==
|
||||
==find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件==
|
||||
==find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件==
|
||||
==find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件==
|
||||
==find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限==
|
||||
==find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备==
|
||||
==locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令==
|
||||
==whereis halt 显示一个二进制文件、源码或man的位置==
|
||||
==which halt 显示一个二进制文件或可执行文件的完整路径==
|
||||
|
||||
==挂载一个文件系统==
|
||||
==mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在==
|
||||
==umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出==
|
||||
==fuser -km /mnt/hda2 当设备繁忙时强制卸载==
|
||||
==umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用==
|
||||
==mount /dev/fd0 /mnt/floppy 挂载一个软盘==
|
||||
==mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom==
|
||||
==mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom==
|
||||
==mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom==
|
||||
==mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件==
|
||||
==mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统==
|
||||
==mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备==
|
||||
==mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享==
|
||||
|
||||
==磁盘空间==
|
||||
==df -h 显示已经挂载的分区列表==
|
||||
==ls -lSr |more 以尺寸大小排列文件和目录==
|
||||
==du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'==
|
||||
==du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小==
|
||||
==rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)==
|
||||
==dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==用户和群组==
|
||||
==groupadd group_name 创建一个新用户组==
|
||||
==groupdel group_name 删除一个用户组==
|
||||
==groupmod -n new_group_name old_group_name 重命名一个用户组==
|
||||
==useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户==
|
||||
==useradd user1 创建一个新用户==
|
||||
==userdel -r user1 删除一个用户 ( '-r' 排除主目录)==
|
||||
==usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性==
|
||||
==passwd 修改口令==
|
||||
==passwd user1 修改一个用户的口令 (只允许root执行)==
|
||||
==chage -E 2005-12-31 user1 设置用户口令的失效期限==
|
||||
==pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户==
|
||||
==grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组==
|
||||
==newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消==
|
||||
==ls -lh 显示权限==
|
||||
==ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示==
|
||||
==chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限==
|
||||
==chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限==
|
||||
==chown user1 file1 改变一个文件的所有人属性==
|
||||
==chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性==
|
||||
==chgrp group1 file1 改变文件的群组==
|
||||
==chown user1:group1 file1 改变一个文件的所有人和群组属性==
|
||||
==find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件==
|
||||
==chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限==
|
||||
==chmod u-s /bin/file1 禁用一个二进制文件的 SUID位==
|
||||
==chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的==
|
||||
==chmod g-s /home/public 禁用一个目录的 SGID 位==
|
||||
==chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件==
|
||||
==chmod o-t /home/public 禁用一个目录的 STIKY 位==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消==
|
||||
==chattr +a file1 只允许以追加方式读写文件==
|
||||
==chattr +c file1 允许这个文件能被内核自动压缩/解压==
|
||||
==chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件==
|
||||
==chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接==
|
||||
==chattr +s file1 允许一个文件被安全地删除==
|
||||
==chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘==
|
||||
==chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件==
|
||||
==lsattr 显示特殊的属性==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==打包和压缩文件==
|
||||
==bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件==
|
||||
==bzip2 file1 压缩一个叫做 'file1' 的文件==
|
||||
==gunzip file1.gz 解压一个叫做 'file1.gz'的文件==
|
||||
==gzip file1 压缩一个叫做 'file1'的文件==
|
||||
==gzip -9 file1 最大程度压缩==
|
||||
==rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包==
|
||||
==rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'==
|
||||
==rar x file1.rar 解压rar包==
|
||||
==unrar x file1.rar 解压rar包==
|
||||
==tar -cvf archive.tar file1 创建一个非压缩的 tarball==
|
||||
==tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件==
|
||||
==tar -tf archive.tar 显示一个包中的内容==
|
||||
==tar -xvf archive.tar 释放一个包==
|
||||
==tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下==
|
||||
==tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包==
|
||||
==tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包==
|
||||
==tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包==
|
||||
==tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包==
|
||||
==zip file1.zip file1 创建一个zip格式的压缩包==
|
||||
==zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包==
|
||||
==unzip file1.zip 解压一个zip格式压缩包==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==RPM 包 - (Fedora, Redhat及类似系统)==
|
||||
==rpm -ivh package.rpm 安装一个rpm包==
|
||||
==rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告==
|
||||
==rpm -U package.rpm 更新一个rpm包但不改变其配置文件==
|
||||
==rpm -F package.rpm 更新一个确定已经安装的rpm包==
|
||||
==rpm -e package_name.rpm 删除一个rpm包==
|
||||
==rpm -qa 显示系统中所有已经安装的rpm包==
|
||||
==rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包==
|
||||
==rpm -qi package_name 获取一个已安装包的特殊信息==
|
||||
==rpm -qg "System Environment/Daemons" 显示一个组件的rpm包==
|
||||
==rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表==
|
||||
==rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表==
|
||||
==rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表==
|
||||
==rpm -q package_name --whatprovides 显示一个rpm包所占的体积==
|
||||
==rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l==
|
||||
==rpm -q package_name --changelog 显示一个rpm包的修改历史==
|
||||
==rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供==
|
||||
==rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表==
|
||||
==rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书==
|
||||
==rpm --checksig package.rpm 确认一个rpm包的完整性==
|
||||
==rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性==
|
||||
==rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间==
|
||||
==rpm -Va 检查系统中所有已安装的rpm包- 小心使用==
|
||||
==rpm -Vp package.rpm 确认一个rpm包还未安装==
|
||||
==rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件==
|
||||
==rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包==
|
||||
==rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==YUM 软件包升级器 - (Fedora, RedHat及类似系统)==
|
||||
==yum install package_name 下载并安装一个rpm包==
|
||||
==yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系==
|
||||
==yum update package_name.rpm 更新当前系统中所有安装的rpm包==
|
||||
==yum update package_name 更新一个rpm包==
|
||||
==yum remove package_name 删除一个rpm包==
|
||||
==yum list 列出当前系统中安装的所有包==
|
||||
==yum search package_name 在rpm仓库中搜寻软件包==
|
||||
==yum clean packages 清理rpm缓存删除下载的包==
|
||||
==yum clean headers 删除所有头文件==
|
||||
==yum clean all 删除所有缓存的包和头文件==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==DEB 包 (Debian, Ubuntu 以及类似系统)==
|
||||
==dpkg -i package.deb 安装/更新一个 deb 包==
|
||||
==dpkg -r package_name 从系统删除一个 deb 包==
|
||||
==dpkg -l 显示系统中所有已经安装的 deb 包==
|
||||
==dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包==
|
||||
==dpkg -s package_name 获得已经安装在系统中一个特殊包的信息==
|
||||
==dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表==
|
||||
==dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表==
|
||||
==dpkg -S /bin/ping 确认所给的文件由哪个deb包提供==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==APT 软件工具 (Debian, Ubuntu 以及类似系统)==
|
||||
==apt-get install package_name 安装/更新一个 deb 包==
|
||||
==apt-cdrom install package_name 从光盘安装/更新一个 deb 包==
|
||||
==apt-get update 升级列表中的软件包==
|
||||
==apt-get upgrade 升级所有已安装的软件==
|
||||
==apt-get remove package_name 从系统删除一个deb包==
|
||||
==apt-get check 确认依赖的软件仓库正确==
|
||||
==apt-get clean 从下载的软件包中清理缓存==
|
||||
==apt-cache search searched-package 返回包含所要搜索字符串的软件包名称==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==查看文件内容==
|
||||
==cat file1 从第一个字节开始正向查看文件的内容==
|
||||
==tac file1 从最后一行开始反向查看一个文件的内容==
|
||||
==more file1 查看一个长文件的内容==
|
||||
==less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作==
|
||||
==head -2 file1 查看一个文件的前两行==
|
||||
==tail -2 file1 查看一个文件的最后两行==
|
||||
==tail -f /var/log/messages 实时查看被添加到一个文件中的内容==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==文本处理==
|
||||
==cat file1 file2 ... | command \<\> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT==
|
||||
==cat file1 | command( sed, grep, awk, grep, etc...) \> result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中==
|
||||
==cat file1 | command( sed, grep, awk, grep, etc...) \>\> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中==
|
||||
==grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"==
|
||||
==grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇==
|
||||
==grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行==
|
||||
==grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"==
|
||||
==sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"==
|
||||
==sed '/^$/d' example.txt 从example.txt文件中删除所有空白行==
|
||||
==sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行==
|
||||
==echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容==
|
||||
==sed -e '1d' result.txt 从文件example.txt 中排除第一行==
|
||||
==sed -n '/stringa1/p' 查看只包含词汇 "string1"的行==
|
||||
==sed -e 's/ *$//' example.txt 删除每一行最后的空白字符==
|
||||
==sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部==
|
||||
==sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容==
|
||||
==sed -n '5p;5q' example.txt 查看第5行==
|
||||
==sed -e 's/00*/0/g' example.txt 用单个零替换多个零==
|
||||
==cat -n file1 标示文件的行数==
|
||||
==cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行==
|
||||
==echo a b c | awk '{print $1}' 查看一行第一栏==
|
||||
==echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏==
|
||||
==paste file1 file2 合并两个文件或两栏的内容==
|
||||
==paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分==
|
||||
==sort file1 file2 排序两个文件的内容==
|
||||
==sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)==
|
||||
==sort file1 file2 | uniq -u 删除交集,留下其他的行==
|
||||
==sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)==
|
||||
==comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容==
|
||||
==comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容==
|
||||
==comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==最近在项目中用到了Linux,然后自己只会那些简单的,发现头用的溜溜的,所以查了一下常用的命令,多查,多用。==
|
||||
==系统信息==
|
||||
==arch 显示机器的处理器==**架构**==(1)==
|
||||
==uname -m 显示机器的处理器架构(2)==
|
||||
==uname -r 显示正在使用的内核版本==
|
||||
==dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)==
|
||||
==hdparm -i /dev/hda 罗列一个磁盘的架构特性==
|
||||
==hdparm -tT /dev/sda 在磁盘上执行测试性读取操作==
|
||||
==cat /proc/cpuinfo 显示CPU info的信息==
|
||||
==cat /proc/interrupts 显示中断==
|
||||
==cat /proc/meminfo 校验内存使用==
|
||||
==cat /proc/swaps 显示哪些swap被使用==
|
||||
==cat /proc/version 显示内核的版本==
|
||||
==cat /proc/net/dev 显示网络适配器及统计==
|
||||
==cat /proc/mounts 显示已加载的文件系统==
|
||||
==lspci -tv 罗列 PCI 设备==
|
||||
==lsusb -tv 显示 USB 设备==
|
||||
==date 显示系统日期==
|
||||
==cal 2007 显示2007年的日历表==
|
||||
==date 041217002007.00 设置日期和时间 - 月日时分年.秒==
|
||||
==clock -w 将时间修改保存到 BIOS==
|
||||
|
||||
==关机 (系统的关机、重启以及登出 )==
|
||||
==shutdown -h now 关闭系统(1)==
|
||||
==init 0 关闭系统(2)==
|
||||
==telinit 0 关闭系统(3)==
|
||||
==shutdown -h hours:minutes & 按预定时间关闭系统==
|
||||
==shutdown -c 取消按预定时间关闭系统==
|
||||
==shutdown -r now 重启(1)==
|
||||
==reboot 重启(2)==
|
||||
==logout 注销==
|
||||
|
||||
==文件和目录==
|
||||
==cd /home 进入 '/ home' 目录'==
|
||||
==cd .. 返回上一级目录==
|
||||
==cd ../.. 返回上两级目录==
|
||||
==cd 进入个人的主目录==
|
||||
==cd ~user1 进入个人的主目录==
|
||||
==cd - 返回上次所在的目录==
|
||||
==pwd 显示工作路径==
|
||||
==ls 查看目录中的文件==
|
||||
==ls -F 查看目录中的文件==
|
||||
==ls -l 显示文件和目录的详细资料==
|
||||
==ls -a 显示隐藏文件==
|
||||
==ls *[0-9]* 显示包含数字的文件名和目录名==
|
||||
==tree 显示文件和目录由根目录开始的树形结构(1)==
|
||||
==lstree 显示文件和目录由根目录开始的树形结构(2)==
|
||||
==mkdir dir1 创建一个叫做 'dir1' 的目录'==
|
||||
==mkdir dir1 dir2 同时创建两个目录==
|
||||
==mkdir -p /tmp/dir1/dir2 创建一个目录树==
|
||||
==rm -f file1 删除一个叫做 'file1' 的文件'==
|
||||
==rmdir dir1 删除一个叫做 'dir1' 的目录'==
|
||||
==rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容==
|
||||
==rm -rf dir1 dir2 同时删除两个目录及它们的内容==
|
||||
==mv dir1 new_dir 重命名/移动 一个目录==
|
||||
==cp file1 file2 复制一个文件==
|
||||
==cp dir/* . 复制一个目录下的所有文件到当前工作目录==
|
||||
==cp -a /tmp/dir1 . 复制一个目录到当前工作目录==
|
||||
==cp -a dir1 dir2 复制一个目录==
|
||||
==ln -s file1 lnk1 创建一个指向文件或目录的软链接==
|
||||
==ln file1 lnk1 创建一个指向文件或目录的物理链接==
|
||||
==touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)==
|
||||
==file file1 outputs the mime type of the file as text==
|
||||
==iconv -l 列出已知的编码==
|
||||
==iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.==
|
||||
==find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)==
|
||||
|
||||
==文件搜索==
|
||||
==find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录==
|
||||
==find / -user user1 搜索属于用户 'user1' 的文件和目录==
|
||||
==find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件==
|
||||
==find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件==
|
||||
==find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件==
|
||||
==find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限==
|
||||
==find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备==
|
||||
==locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令==
|
||||
==whereis halt 显示一个二进制文件、源码或man的位置==
|
||||
==which halt 显示一个二进制文件或可执行文件的完整路径==
|
||||
|
||||
==挂载一个文件系统==
|
||||
==mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在==
|
||||
==umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出==
|
||||
==fuser -km /mnt/hda2 当设备繁忙时强制卸载==
|
||||
==umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用==
|
||||
==mount /dev/fd0 /mnt/floppy 挂载一个软盘==
|
||||
==mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom==
|
||||
==mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom==
|
||||
==mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom==
|
||||
==mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件==
|
||||
==mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统==
|
||||
==mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备==
|
||||
==mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享==
|
||||
|
||||
==磁盘空间==
|
||||
==df -h 显示已经挂载的分区列表==
|
||||
==ls -lSr |more 以尺寸大小排列文件和目录==
|
||||
==du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'==
|
||||
==du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小==
|
||||
==rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)==
|
||||
==dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)==
|
||||
|
||||
==字符设置和文件格式转换==
|
||||
==dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX==
|
||||
==unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS==
|
||||
==recode ..HTML \< page.txt \> page.html 将一个文本文件转换成html==
|
||||
==recode -l | more 显示所有允许的转换格式==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==文件系统分析==
|
||||
==badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块==
|
||||
==fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性==
|
||||
==fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性==
|
||||
==e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性==
|
||||
==e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性==
|
||||
==fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性==
|
||||
==fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性==
|
||||
==fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性==
|
||||
==dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性==
|
||||
|
||||
|
||||
==用户和群组==
|
||||
==groupadd group_name 创建一个新用户组==
|
||||
==groupdel group_name 删除一个用户组==
|
||||
==groupmod -n new_group_name old_group_name 重命名一个用户组==
|
||||
==useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户==
|
||||
==useradd user1 创建一个新用户==
|
||||
==userdel -r user1 删除一个用户 ( '-r' 排除主目录)==
|
||||
==usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性==
|
||||
==passwd 修改口令==
|
||||
==passwd user1 修改一个用户的口令 (只允许root执行)==
|
||||
==chage -E 2005-12-31 user1 设置用户口令的失效期限==
|
||||
==pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户==
|
||||
==grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组==
|
||||
==newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==初始化一个文件系统==
|
||||
==mkfs /dev/hda1 在hda1分区创建一个文件系统==
|
||||
==mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统==
|
||||
==mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统==
|
||||
==mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统==
|
||||
==fdformat -n /dev/fd0 格式化一个软盘==
|
||||
==mkswap /dev/hda3 创建一个swap文件系统==
|
||||
|
||||
|
||||
==文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消==
|
||||
==ls -lh 显示权限==
|
||||
==ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示==
|
||||
==chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限==
|
||||
==chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限==
|
||||
==chown user1 file1 改变一个文件的所有人属性==
|
||||
==chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性==
|
||||
==chgrp group1 file1 改变文件的群组==
|
||||
==chown user1:group1 file1 改变一个文件的所有人和群组属性==
|
||||
==find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件==
|
||||
==chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限==
|
||||
==chmod u-s /bin/file1 禁用一个二进制文件的 SUID位==
|
||||
==chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的==
|
||||
==chmod g-s /home/public 禁用一个目录的 SGID 位==
|
||||
==chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件==
|
||||
==chmod o-t /home/public 禁用一个目录的 STIKY 位==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==SWAP文件系统==
|
||||
==mkswap /dev/hda3 创建一个swap文件系统==
|
||||
==swapon /dev/hda3 启用一个新的swap文件系统==
|
||||
==swapon /dev/hda2 /dev/hdb3 启用两个swap分区==
|
||||
|
||||
|
||||
==文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消==
|
||||
==chattr +a file1 只允许以追加方式读写文件==
|
||||
==chattr +c file1 允许这个文件能被内核自动压缩/解压==
|
||||
==chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件==
|
||||
==chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接==
|
||||
==chattr +s file1 允许一个文件被安全地删除==
|
||||
==chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘==
|
||||
==chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件==
|
||||
==lsattr 显示特殊的属性==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==备份==
|
||||
==dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份==
|
||||
==dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份==
|
||||
==restore -if /tmp/home0.bak 还原一个交互式备份==
|
||||
==rsync -rogpav --delete /home /tmp 同步两边的目录==
|
||||
==rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync==
|
||||
==rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录==
|
||||
==rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录==
|
||||
==dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作==
|
||||
==dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件==
|
||||
==tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作==
|
||||
==( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容==
|
||||
==( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录==
|
||||
==tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接==
|
||||
==find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录==
|
||||
==find /var/log -name '*.log' | tar cv --files-from=- | bzip2 \> log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包==
|
||||
==dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作==
|
||||
==dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容==
|
||||
|
||||
|
||||
==打包和压缩文件==
|
||||
==bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件==
|
||||
==bzip2 file1 压缩一个叫做 'file1' 的文件==
|
||||
==gunzip file1.gz 解压一个叫做 'file1.gz'的文件==
|
||||
==gzip file1 压缩一个叫做 'file1'的文件==
|
||||
==gzip -9 file1 最大程度压缩==
|
||||
==rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包==
|
||||
==rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'==
|
||||
==rar x file1.rar 解压rar包==
|
||||
==unrar x file1.rar 解压rar包==
|
||||
==tar -cvf archive.tar file1 创建一个非压缩的 tarball==
|
||||
==tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件==
|
||||
==tar -tf archive.tar 显示一个包中的内容==
|
||||
==tar -xvf archive.tar 释放一个包==
|
||||
==tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下==
|
||||
==tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包==
|
||||
==tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包==
|
||||
==tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包==
|
||||
==tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包==
|
||||
==zip file1.zip file1 创建一个zip格式的压缩包==
|
||||
==zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包==
|
||||
==unzip file1.zip 解压一个zip格式压缩包==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==光盘==
|
||||
==cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容==
|
||||
==mkisofs /dev/cdrom \> cd.iso 在磁盘上创建一个光盘的iso镜像文件==
|
||||
==mkisofs /dev/cdrom | gzip \> cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件==
|
||||
==mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件==
|
||||
==cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件==
|
||||
==gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件==
|
||||
==mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件==
|
||||
==cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中==
|
||||
==cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)==
|
||||
==cdrecord --scanbus 扫描总线以识别scsi通道==
|
||||
==dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD==
|
||||
|
||||
|
||||
==RPM 包 - (Fedora, Redhat及类似系统)==
|
||||
==rpm -ivh package.rpm 安装一个rpm包==
|
||||
==rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告==
|
||||
==rpm -U package.rpm 更新一个rpm包但不改变其配置文件==
|
||||
==rpm -F package.rpm 更新一个确定已经安装的rpm包==
|
||||
==rpm -e package_name.rpm 删除一个rpm包==
|
||||
==rpm -qa 显示系统中所有已经安装的rpm包==
|
||||
==rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包==
|
||||
==rpm -qi package_name 获取一个已安装包的特殊信息==
|
||||
==rpm -qg "System Environment/Daemons" 显示一个组件的rpm包==
|
||||
==rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表==
|
||||
==rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表==
|
||||
==rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表==
|
||||
==rpm -q package_name --whatprovides 显示一个rpm包所占的体积==
|
||||
==rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l==
|
||||
==rpm -q package_name --changelog 显示一个rpm包的修改历史==
|
||||
==rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供==
|
||||
==rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表==
|
||||
==rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书==
|
||||
==rpm --checksig package.rpm 确认一个rpm包的完整性==
|
||||
==rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性==
|
||||
==rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间==
|
||||
==rpm -Va 检查系统中所有已安装的rpm包- 小心使用==
|
||||
==rpm -Vp package.rpm 确认一个rpm包还未安装==
|
||||
==rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件==
|
||||
==rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包==
|
||||
==rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==网络 - (以太网和WIFI无线)==
|
||||
==ifconfig eth0 显示一个以太网卡的配置==
|
||||
==ifup eth0 启用一个 'eth0' 网络设备==
|
||||
==ifdown eth0 禁用一个 'eth0' 网络设备==
|
||||
==ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址==
|
||||
==ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)==
|
||||
==dhclient eth0 以dhcp模式启用 'eth0'==
|
||||
==route -n show routing table==
|
||||
==route add -net 0/0 gw IP_Gateway configura default gateway==
|
||||
==route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'==
|
||||
==route del 0/0 gw IP_gateway remove static route==
|
||||
==echo "1" \> /proc/sys/net/ipv4/ip_forward activate ip routing==
|
||||
==hostname show hostname of system==
|
||||
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(1)==
|
||||
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(2)==
|
||||
==ip link show show link status of all interfaces==
|
||||
==mii-tool eth0 show link status of 'eth0'==
|
||||
==ethtool eth0 show statistics of network card 'eth0'==
|
||||
==netstat -tup show all active network connections and their PID==
|
||||
==netstat -tupl show all network services listening on the system and their PID==
|
||||
==tcpdump tcp port 80 show all HTTP traffic==
|
||||
==iwlist scan show wireless networks==
|
||||
==iwconfig eth1 show configuration of a wireless network card==
|
||||
==hostname show hostname==
|
||||
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa==
|
||||
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa==
|
||||
==whois== ==www.example.com== ==lookup on Whois database==
|
||||
|
||||
==GO TOP INDEX ^==
|
||||
==Microsoft Windows networks (SAMBA)==
|
||||
==nbtscan ip_addr netbios name resolution==
|
||||
==nmblookup -A ip_addr netbios name resolution==
|
||||
==smbclient -L ip_addr/hostname show remote shares of a windows host==
|
||||
==smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb==
|
||||
|
||||
==YUM 软件包升级器 - (Fedora, RedHat及类似系统)==
|
||||
==yum install package_name 下载并安装一个rpm包==
|
||||
==yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系==
|
||||
==yum update package_name.rpm 更新当前系统中所有安装的rpm包==
|
||||
==yum update package_name 更新一个rpm包==
|
||||
==yum remove package_name 删除一个rpm包==
|
||||
==yum list 列出当前系统中安装的所有包==
|
||||
==yum search package_name 在rpm仓库中搜寻软件包==
|
||||
==yum clean packages 清理rpm缓存删除下载的包==
|
||||
==yum clean headers 删除所有头文件==
|
||||
==yum clean all 删除所有缓存的包和头文件==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==DEB 包 (Debian, Ubuntu 以及类似系统)==
|
||||
==dpkg -i package.deb 安装/更新一个 deb 包==
|
||||
==dpkg -r package_name 从系统删除一个 deb 包==
|
||||
==dpkg -l 显示系统中所有已经安装的 deb 包==
|
||||
==dpkg -l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包==
|
||||
==dpkg -s package_name 获得已经安装在系统中一个特殊包的信息==
|
||||
==dpkg -L package_name 显示系统中已经安装的一个deb包所提供的文件列表==
|
||||
==dpkg --contents package.deb 显示尚未安装的一个包所提供的文件列表==
|
||||
==dpkg -S /bin/ping 确认所给的文件由哪个deb包提供==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==APT 软件工具 (Debian, Ubuntu 以及类似系统)==
|
||||
==apt-get install package_name 安装/更新一个 deb 包==
|
||||
==apt-cdrom install package_name 从光盘安装/更新一个 deb 包==
|
||||
==apt-get update 升级列表中的软件包==
|
||||
==apt-get upgrade 升级所有已安装的软件==
|
||||
==apt-get remove package_name 从系统删除一个deb包==
|
||||
==apt-get check 确认依赖的软件仓库正确==
|
||||
==apt-get clean 从下载的软件包中清理缓存==
|
||||
==apt-cache search searched-package 返回包含所要搜索字符串的软件包名称==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==查看文件内容==
|
||||
==cat file1 从第一个字节开始正向查看文件的内容==
|
||||
==tac file1 从最后一行开始反向查看一个文件的内容==
|
||||
==more file1 查看一个长文件的内容==
|
||||
==less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作==
|
||||
==head -2 file1 查看一个文件的前两行==
|
||||
==tail -2 file1 查看一个文件的最后两行==
|
||||
==tail -f /var/log/messages 实时查看被添加到一个文件中的内容==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==文本处理==
|
||||
==cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT==
|
||||
==cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中==
|
||||
==cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中==
|
||||
==grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"==
|
||||
==grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇==
|
||||
==grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行==
|
||||
==grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"==
|
||||
==sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"==
|
||||
==sed '/^$/d' example.txt 从example.txt文件中删除所有空白行==
|
||||
==sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行==
|
||||
==echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容==
|
||||
==sed -e '1d' result.txt 从文件example.txt 中排除第一行==
|
||||
==sed -n '/stringa1/p' 查看只包含词汇 "string1"的行==
|
||||
==sed -e 's/ *$//' example.txt 删除每一行最后的空白字符==
|
||||
==sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部==
|
||||
==sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容==
|
||||
==sed -n '5p;5q' example.txt 查看第5行==
|
||||
==sed -e 's/00*/0/g' example.txt 用单个零替换多个零==
|
||||
==cat -n file1 标示文件的行数==
|
||||
==cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行==
|
||||
==echo a b c | awk '{print $1}' 查看一行第一栏==
|
||||
==echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏==
|
||||
==paste file1 file2 合并两个文件或两栏的内容==
|
||||
==paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分==
|
||||
==sort file1 file2 排序两个文件的内容==
|
||||
==sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)==
|
||||
==sort file1 file2 | uniq -u 删除交集,留下其他的行==
|
||||
==sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)==
|
||||
==comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容==
|
||||
==comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容==
|
||||
==comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
|
||||
==字符设置和文件格式转换==
|
||||
==dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX==
|
||||
==unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS==
|
||||
==recode ..HTML < page.txt > page.html 将一个文本文件转换成html==
|
||||
==recode -l | more 显示所有允许的转换格式==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==文件系统分析==
|
||||
==badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块==
|
||||
==fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性==
|
||||
==fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性==
|
||||
==e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性==
|
||||
==e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性==
|
||||
==fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性==
|
||||
==fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性==
|
||||
==fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性==
|
||||
==dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==初始化一个文件系统==
|
||||
==mkfs /dev/hda1 在hda1分区创建一个文件系统==
|
||||
==mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统==
|
||||
==mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统==
|
||||
==mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统==
|
||||
==fdformat -n /dev/fd0 格式化一个软盘==
|
||||
==mkswap /dev/hda3 创建一个swap文件系统==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==SWAP文件系统==
|
||||
==mkswap /dev/hda3 创建一个swap文件系统==
|
||||
==swapon /dev/hda3 启用一个新的swap文件系统==
|
||||
==swapon /dev/hda2 /dev/hdb3 启用两个swap分区==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==备份==
|
||||
==dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份==
|
||||
==dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份==
|
||||
==restore -if /tmp/home0.bak 还原一个交互式备份==
|
||||
==rsync -rogpav --delete /home /tmp 同步两边的目录==
|
||||
==rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync==
|
||||
==rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录==
|
||||
==rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录==
|
||||
==dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作==
|
||||
==dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件==
|
||||
==tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作==
|
||||
==( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容==
|
||||
==( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录==
|
||||
==tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接==
|
||||
==find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录==
|
||||
==find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包==
|
||||
==dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作==
|
||||
==dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==光盘==
|
||||
==cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容==
|
||||
==mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件==
|
||||
==mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件==
|
||||
==mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件==
|
||||
==cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件==
|
||||
==gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件==
|
||||
==mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件==
|
||||
==cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中==
|
||||
==cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)==
|
||||
==cdrecord --scanbus 扫描总线以识别scsi通道==
|
||||
==dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD==
|
||||
|
||||
==返回顶部索引 ^==
|
||||
|
||||
==网络 - (以太网和WIFI无线)==
|
||||
==ifconfig eth0 显示一个以太网卡的配置==
|
||||
==ifup eth0 启用一个 'eth0' 网络设备==
|
||||
==ifdown eth0 禁用一个 'eth0' 网络设备==
|
||||
==ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址==
|
||||
==ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)==
|
||||
==dhclient eth0 以dhcp模式启用 'eth0'==
|
||||
==route -n show routing table==
|
||||
==route add -net 0/0 gw IP_Gateway configura default gateway==
|
||||
==route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'==
|
||||
==route del 0/0 gw IP_gateway remove static route==
|
||||
==echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing==
|
||||
==hostname show hostname of system==
|
||||
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(1)==
|
||||
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa(2)==
|
||||
==ip link show show link status of all interfaces==
|
||||
==mii-tool eth0 show link status of 'eth0'==
|
||||
==ethtool eth0 show statistics of network card 'eth0'==
|
||||
==netstat -tup show all active network connections and their PID==
|
||||
==netstat -tupl show all network services listening on the system and their PID==
|
||||
==tcpdump tcp port 80 show all HTTP traffic==
|
||||
==iwlist scan show wireless networks==
|
||||
==iwconfig eth1 show configuration of a wireless network card==
|
||||
==hostname show hostname==
|
||||
==host== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa==
|
||||
==nslookup== ==www.example.com== ==lookup hostname to resolve name to ip address and viceversa==
|
||||
==whois== ==www.example.com== ==lookup on Whois database==
|
||||
|
||||
==GO TOP INDEX ^==
|
||||
==Microsoft Windows networks (SAMBA)==
|
||||
==nbtscan ip_addr netbios name resolution==
|
||||
==nmblookup -A ip_addr netbios name resolution==
|
||||
==smbclient -L ip_addr/hostname show remote shares of a windows host==
|
||||
==smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb==
|
||||
==mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share==
|
||||
\> 来自 \<[http://blog.csdn.net/ww130929/article/details/69788517](http://blog.csdn.net/ww130929/article/details/69788517)\>
|
||||
> 来自 <[http://blog.csdn.net/ww130929/article/details/69788517](http://blog.csdn.net/ww130929/article/details/69788517)>
|
||||
@@ -1,19 +1,19 @@
|
||||
有两个修改命令可以用到,「change mode」&「change owner」
|
||||
==即chmod以及chown,其中可以用递归参数====-R====来实现更改所有子文件和子目录的权限。==
|
||||
==1、利用chmod修改权限:==
|
||||
==对Document/目录下的所有子文件与子目录执行相同的权限变更:==
|
||||
有两个修改命令可以用到,「change mode」&「change owner」
|
||||
==即chmod以及chown,其中可以用递归参数====-R====来实现更改所有子文件和子目录的权限。==
|
||||
==1、利用chmod修改权限:==
|
||||
==对Document/目录下的所有子文件与子目录执行相同的权限变更:==
|
||||
==chmod -R 700 Document/==
|
||||
|
||||
|
||||
==-R参数是递归 处理目录下的所有文件以及子文件夹==
|
||||
|
||||
|
||||
700是变更后的权限表示(只有所有者有读和写以及执行的权限)
|
||||
|
||||
|
||||
Document/ 是需要执行的目录
|
||||
|
||||
==2、利用chown改变所有者:==
|
||||
==对Document/ 目录下的所有文件与子目录执行相同的所有者变更,修改所有者为users用户组的username用户==
|
||||
|
||||
==2、利用chown改变所有者:==
|
||||
==对Document/ 目录下的所有文件与子目录执行相同的所有者变更,修改所有者为users用户组的username用户==
|
||||
==chown -R username:users Document/==
|
||||
|
||||
==username:users users用户组的username,用户组参数不是必须有==
|
||||
|
||||
==username:users users用户组的username,用户组参数不是必须有==
|
||||
==参考:http://rabbit52.com/2011/linux/ubuntu/linux-chmod-chown==
|
||||
\> 来自 \<[http://blog.csdn.net/songyu0120/article/details/43408499](http://blog.csdn.net/songyu0120/article/details/43408499)\>
|
||||
> 来自 <[http://blog.csdn.net/songyu0120/article/details/43408499](http://blog.csdn.net/songyu0120/article/details/43408499)>
|
||||
@@ -1,5 +1,5 @@
|
||||
==du -sh /*==
|
||||
==可以列出你整个VPS所有文件夹的大小。其中“/*”是控制分析哪个目录的,你根据上面的结果,然后灵活变化后面的路径就行了,例如:==
|
||||
==du -sh /usr/*==
|
||||
==du -sh /*==
|
||||
==可以列出你整个VPS所有文件夹的大小。其中“/*”是控制分析哪个目录的,你根据上面的结果,然后灵活变化后面的路径就行了,例如:==
|
||||
==du -sh /usr/*==
|
||||
==用这个命令来分析usr目录下的文件夹大小,最后定位到大文件,直接删除就行了。==
|
||||
\> 来自 \<[https://www.hack520.com/504.html](https://www.hack520.com/504.html)\>
|
||||
> 来自 <[https://www.hack520.com/504.html](https://www.hack520.com/504.html)>
|
||||
@@ -1,38 +1,38 @@
|
||||
[https://blog.csdn.net/yaoxingshuai/article/details/50563245](https://blog.csdn.net/yaoxingshuai/article/details/50563245)
|
||||
|
||||
楼主给笔记本电脑装了双系统,常年放在寝室开着,平时用实验室的电脑,偶尔需要笔记本的时候就远程控制。后来就发现了一个问题,我远程连接linux的时候,只能看见Linux这个分区的内容,windows的D、E、F盘都没有,这个时候如果要找这些盘符里的文件就比较麻烦了
|
||||
|
||||
于是乎,机智的楼主看了一下Linux里的设备文件
|
||||
|
||||
cd /dev
|
||||
|
||||
ls -l sd*
|
||||
|
||||
能看见楼主的笔记本硬盘分了好几个区C D E F G H,为了确保准确,楼主又看了一下硬盘信息
|
||||
|
||||
fdisk -lu
|
||||
|
||||
第四列Blocks指的分区大小,sda1=52,436,128B 大概50GB,这不是我的C盘么
|
||||
|
||||
最后一个sda9 = 12545024B 大概 12GB就是我安装Linux的盘符
|
||||
|
||||
sda2 = sda5+sda6+sda7+sda8+sda9 一共大概450G,于是机制的楼主推断出sda5便是我要的D盘;
|
||||
|
||||
我的D盘,时尚时尚最时尚,我情不自禁的要把D盘挂载到Linux下,于是乎
|
||||
|
||||
cd /mnt 一般挂载到/mnt 或者 /media, 都可以
|
||||
|
||||
ls 发现目前啥都没有
|
||||
|
||||
mkdir thinkiii 我想把D盘挂载过来取名thinkiii,这个无所谓的
|
||||
|
||||
mount /dev/sda5 /mnt/thinkiii 这样便把sda5也就是D盘挂载到/mnt/thinkiii了
|
||||
|
||||
cd /mnt/thinkiii
|
||||
|
||||
ls 便可查看D盘的文件了
|
||||
|
||||
|
||||
————————————————
|
||||
版权声明:本文为CSDN博主「浴前带刀侍卫」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
|
||||
楼主给笔记本电脑装了双系统,常年放在寝室开着,平时用实验室的电脑,偶尔需要笔记本的时候就远程控制。后来就发现了一个问题,我远程连接linux的时候,只能看见Linux这个分区的内容,windows的D、E、F盘都没有,这个时候如果要找这些盘符里的文件就比较麻烦了
|
||||
|
||||
于是乎,机智的楼主看了一下Linux里的设备文件
|
||||
|
||||
cd /dev
|
||||
|
||||
ls -l sd*
|
||||
|
||||
能看见楼主的笔记本硬盘分了好几个区C D E F G H,为了确保准确,楼主又看了一下硬盘信息
|
||||
|
||||
fdisk -lu
|
||||
|
||||
第四列Blocks指的分区大小,sda1=52,436,128B 大概50GB,这不是我的C盘么
|
||||
|
||||
最后一个sda9 = 12545024B 大概 12GB就是我安装Linux的盘符
|
||||
|
||||
sda2 = sda5+sda6+sda7+sda8+sda9 一共大概450G,于是机制的楼主推断出sda5便是我要的D盘;
|
||||
|
||||
我的D盘,时尚时尚最时尚,我情不自禁的要把D盘挂载到Linux下,于是乎
|
||||
|
||||
cd /mnt 一般挂载到/mnt 或者 /media, 都可以
|
||||
|
||||
ls 发现目前啥都没有
|
||||
|
||||
mkdir thinkiii 我想把D盘挂载过来取名thinkiii,这个无所谓的
|
||||
|
||||
mount /dev/sda5 /mnt/thinkiii 这样便把sda5也就是D盘挂载到/mnt/thinkiii了
|
||||
|
||||
cd /mnt/thinkiii
|
||||
|
||||
ls 便可查看D盘的文件了
|
||||
|
||||
|
||||
————————————————
|
||||
版权声明:本文为CSDN博主「浴前带刀侍卫」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
|
||||
原文链接:https://blog.csdn.net/yaoxingshuai/article/details/50563245
|
||||
Reference in New Issue
Block a user