Linux命令学习(centos6)

来源:互联网 发布:聚类分析数据 编辑:程序博客网 时间:2024/06/06 04:25

常用命令:

man  用于查看命令的帮助文档 格式:man [命令] 例: man ls 

sudo -s

切换root用户​

正确的关机流程为:sync –> shutdown –> reboot –> halt 

pwd 打印出当前所在目录

mkdir [ 目录名称 ]  创建目录

mkdir -p [ 目录名称 ] 创建级联目录,已存在的目录也不会报错

touch [ 文件名称 ] 创建文件

rm 删除目录或文件

rm -r 询问是否删除

rm -f 强制删除

rm -rf 删除目录下的所有文件

which 查找某个命令的绝对路径

echo $PATH 打印出环境变量

PATH=$PATH:/root: 增加':/root'到环境变量中

cp   [ 来源文件 ] [目的文件]   拷贝文件

cp  -r [ 来源文件 ] [目的文件] 拷贝文件夹

cp  - i [ 来源文件 ] [目的文件] 拷贝文件; 安全选项,和 ‘rm’ 类似,如果遇到一个存在的文件,会问是否覆盖

echo 'my name is wangli' > test2.txt 往test2写入内容 

mv [选项] [源文件][目标文件]

mv -i : 和cp的-i 一样,当目标文件存在时会问用户是否要覆盖

cat  :查看文件内容

tac  :倒叙查看文件内容

more :也是用来查看一个文件的内容,后面直接跟文件名,当文件内容太多,一屏幕不能占下,而您用 ‘cat’ 肯定是看不前面的内容的,那么使用 ‘more’ 就可以解决这个问题了。当看完一屏后按空格键继续看下一屏。但看完所有内容后就会退出。如果您想提前退出,只需按 ‘q’ 键即可。

less :作用跟more一样,可以支持上下移动,"j"键向下移动,"k"键向上移动,空格翻页,按下"/"键,然后输入一个关键字 可以查找,按"n"键显示下一个。"?"键同样支持搜索,"/"向下查找,"?"是向上查找

head [文件名] :显示文件的前十行,如果加 -n选项则显示文件前n行

tail [文件名]:显示文件最后十行,如果加 -n选项则显示文件后n行

tail -f [文件名]:动态显示文件最后十行,可以滚动

groupadd [组名]:添加一个用户组

chgrp [组名][文件名或文件夹] :更改文件或文件夹所属组,只能更改目录或文件本身

chgrp -R [组名][文件夹名] :级联更改文件夹所属组(区分大小写)

这里的-R选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件全部更改

 chown [-R][账户名][文件名或文件夹] : 更改文件所属主

chown [-R][账户名]:[组名][文件名或文件夹] :更改文件所属组

r 代表可读

w代表可写

x代表可执行


chmod [xyz][文件名]:(这里的xyz表示数字)赋值权限

 默认一个目录的权限为 755,而一个文件的默认权限为644

chmod -R [xyz][文件名]:级联更改

赋值权限的顺序为 1.user 2.group 3.others,我们可以用u,g,o来代表他们的属性. a 则代表 all 亦即全部

用法示例:chomd u=rwx,og=r javaMain.java

减少权限:chomd u-x javaMain.java  去掉取消user的执行权限

find [路径][参数] :查询文件

'-atime +n/-n' : 访问或执行时间大于/小于n天的文件

'-ctime +n/-n' : 写入、更改inode属性(例如更改所有者、权限或者链接)时间大于/小于n天的文件

'-mtime +n/-n' : 写入时间大于/小于n天的文件

示例:find wangli/ -atime -3

 find [文件夹]-name [文件名] :按name查询

文件名可为空,为空时在当前目录下搜索

 find [文件夹]-type [文件类型]  :按type查询

文件类型 包含了 f, b, c, d, l, s 等

 示例: find selfloan/ -type f

‘d’ 表示该文件为目录;

'f'或者‘-‘ 表示该文件为普通文件;

‘l’ 表示该文件为链接文件(linux file),上边提到的软链接即为该类型;

‘b’ 表示该文件为块设备,比如 /dev/sda 就是这样的文件。

‘c’ 表示该文件为串行端口设备,例如键盘、鼠标。

‘s’ 表示该文件为套接字文件(socket),用于进程间通信。

 |管道符,把前面命令的输出再输入给后面的命令

groupadd [-g Gid] [组名] :创建组

不加 “-g” 选项则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的

groupdel [组名]删除组(删除有账户的组,必须先删除组内的账户)

useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]新增用户

useradd’ 不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组。

-u 自定义UID

-g 使其属于已经存在的某个组,后面可以跟组id, 也可以跟组名

-d 自定义用户的家目录

-M 不建立家目录

-s 自定义shell

userdel [-r] [用户名]: 删除账户

-r 删除账户时连带账户的家目录一起删除

passwd [用户名]: 创建/修改一个用户的密码

passwd后面不加用户名则是修改当前用户的密码

只有root用户,才可以更改其他账户的密码,普通账户只能更改自己的密码

 

磁盘管理

df [ -i h k m ]: 查看已挂载磁盘的总容量、使用容量、剩余容量。默认单位为K

-i 查看inodes使用状况

“-h” 系统自动调节, 示例 df -h

-k 和-m 分别以K,M为单位显示

图示


Filesystem列 是分区的名字

Size 为该分区总共的容量

Used 为已经使用了多少

Avail 为还剩下多少

Use% 为已经使用百分比

Mounted on 为挂载点。”/dev/shm” 为内存挂载点,如果您想把文件放到内存里,就可以放到/dev/shm/目录下

 

du [-a b c k m s h] [文件或目录名]:  查看某个目录或文件所占空间大小

"-a" 全部文件与目录大小都列出来。如果不加任何选项和参数只列出目录(包含子目录)大小

"-b" 列出的值以bytes为单位输出

"-k" 以KB为单位输出(默认)

"-m" 以MB为单位输出

"-h" 系统自动调节单位,例如文件太小可能就几K,那么就以K为单位显示,如果大到几G,则就以G为单位显示

"-c" 最后加总

"-s" 只列出总和

"-c" 最后加总

"-s" 只列出总和

 

fdisk [-l][设备名称]: 列出系统中的磁盘设备以及分区表

“-l” 后边不跟设备名会直接列出系统中所有的磁盘设备以及分区表,加上设备名会列出该设备的分区表。

mount :查看当前系统已经挂载的所有分区 ,以及分区文件系统的类型,挂载点和一些选项等信息

 

上传 scp [目标文件路径][服务器username]@[服务器地址]:[上传后存放路径]

示例:scp /Users/wang/w/target/w2.jar root@192.168.0.202:.

下载 scp [服务器username]@[服务器地址]:[目标文件路径] 空格[下载后存放路径][新文件名]

下载后存放路径 可省咯,默认为当前目录

示例: scp wang@121.43.77.112:/root/pro-log/fix.log  fix.txt 


vim的快捷键

一般模式下移动光标

h / 左方向键 :光标向左移动一个字符
j / 下方向键 :光标向下移动一个字符
k / 上方向键 :光标向上移动一个字符
l / 右方向键 :光标向右移动一个字符
ctrl+f /pageUp :屏幕向前移动一页
ctrl+b /pageDown:屏幕向后移动一页
数字0 /shift+6 :移动到本行 行首
shift+4 :移动到本行 行尾
G :光标移动到文本最末行
nG :(n是数字)移动到该文本的第n行
gg : 移动到该文本的首行



一般模式下查找与替换

/word :向光标之后寻找一个字符串为 word的字符串,当找到一个word之后,按 n键继续查找
?word :使用方法同上
:n1,n2s/word1/word2/g:在n1和n2行间查找word1字符,并替换为word2.可以用#代替/
    示例: :210,245s/echo/echo2/g
:1,$s/word1/word2/g :从第一行到最末行



一般模式下删除、复制粘贴

x,X :x为向后删除一个字符,X为向前删除一个字符
dd:删除光标所在的那行
ndd:n为数字,删除光标所在的向下n行
yy:复制光标所在行的数据
nyy:复制从光标所在行起向下n行
p或P: p复制的数据从光标下一行粘贴,P从光标上一行粘贴


进入编辑模式

i:在当前字符前插入字符
I:在当前行行首插入字符
a:在当前字符后插入字符
A:在当前行行末插入字符
o:........行下插入新的一行
O:........行上..........
按两次u :还原上一次操作



命令模式

:w  :将编译过的文本保存
:w! :若文本属性为只读时,强制保存
:q  :退出vim
:q! :不管编辑或未编辑都不保存退出
:wq :保存,退出
:set nu :显示行号
:set nonu :取消行号



文件压缩

.gz gzip 压缩工具压缩的文件

.bz2 bzip2 压缩工具压缩的文件

.tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)

.tar.gz 可以理解为先用tar打包,然后再gzip压缩

.tar.bz2 同上,先用tar打包,然后再bzip2压缩

gzip [-d#] [文件名]压缩文件(此命令不可以压缩文件夹)

-d :解压时使用

-#:压缩等级,1压缩最差,9压缩最好,默认为6.很少使用

示例:gzip test.txt

解压:gzip -d test.txt.gz

 

bzip2 [-dz][文件名] :压缩/解压 文件(不支持压缩文件夹)

-d:解压

-z:压缩(可省略,默认为压缩)

示例:bzip2 newFile.txt

解压:bzip2 -d newFile.txt.bz2


tar [-zjxcvfpP] [文件或文件夹名称] :压缩、解压

-z: 同时用gzip压缩

-j:  同时用bzip2压缩

-x: 解包或解压

-t: 查看tar包里的文件(需配合f一起使用) 示例:tar -tf test.tar

-c: 建立一个tar包或压缩包文件

-v: 可视化

-f: 后面加文件名。压缩时 后面文件名为压缩后的名称;解压时 后面文件名为需解压文件名。有多个参数组合时,将 f 写在最后

-p: 使用原文件属性(不常用)

-P:使用绝对路径(不常用)

示例:tar -cvf tarTest20.tar newFile.txt tempData tarTest2.tar

        ps: tarTest20.tar 为压缩后新文件名称;需压缩的文件为 newFile.txt tempData 和tarTest2.tar

解压:tar -xvf tarTest20.tar

 

打包时使用gzip压缩

示例: tar -czvf tarTest29.tar.gz newFile.txt tarTestDir/

ps:将newFile.txt、 tarTestDir 打包并压缩为 tarTest29.gz

 

解压:tar -zxvf tarTest29.tar.gz

tar -tf tarTest29.tar.gz 可以查看包内文件

exclude选项

tar -cvf [新文件名] --exclude [需排除的文件或文件名]  [需压缩的文件夹]

示例:tar -cvf dir42.tar --exclude tarTest.txt tarTestDir 

 

shell 基础

!!  两个连续!表示执行上一条指令

!n  这里的n是数字,表示执行命令历史中的第n条指令

!字符串 ,例如!ls 表示执行命令历史中最新一次 以'ls'开头的指令

tab  指令或文件夹补全,连续按两次tab 键,系统则会把所有的指令或文件夹都列出来

别名:通过别名把很长并且常用的指令设置为一个简洁的指令,

设置别名:alias [命令别名]=['具体的命令']  例:alias wang = 'pwd'

取消别名:unalias 命令别名

 在bash下,可以使用 * 来匹配零个或多个字符,而用 ? 匹配一个字符

管道符 “|”, 就是把前面的命令运行的结果丢给后面的命令

 作业控制:

当运行一个进程时,您可以使它暂停(按Ctrl+z),然后使用 fg 命令恢复它,利用 bg 命令使他到后台运行,

您也可以使它终止(按Ctrl+c)

 

kill [pid] 杀掉进程

kill命令语法很简单,直接在后面加pid即可,如果遇到杀不死的进程时,可以在kill 后面加一个选项: kill -9 [pid]

  

不常用命令:

 umask:上边两条规则中的默认值(文件为666,目录为777)需要减掉的权限。默认为0022

 chattr [+-=][ASaci [文件或者目录名] 追加或删除特殊属性

"+-=" : 分别为增加、减少、设定

"A": 增加该属性后,文件或目录的atime将不可被修改;

"S" : 增加该属性后,会将数据同步写入磁盘中;

"a" : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;

"c" : 自动压缩该文件,读取时会自动解压;

"i" : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据;

 lsattr[-aR] [文件/目录名]:用来读取文件或者目录的特殊权限

 "-a" : 类似与ls 的-a 选项,即连同隐藏文件一同列出;

"-R" : 连同子目录的数据一同列出


跟阿铭学Linux(第二版)李世明 读书笔记
因近期买了第三版,此篇将不再更新,后续将有一篇基于Linux7的笔记。
有理解错误或者不完善的地方 可以发邮件给我,谢谢 wangli_it@163.com