Linux笔记——linux常用命令集合

列表:

Linux笔记——vim常用操作及扩展补充[手册]

Linux笔记——linux常用命令集合

Linux笔记——命令:awk

Linux笔记——命令:sed

Linux笔记——命令:grep

Linux笔记——命令:find

Linux笔记——命令:Sort,uniq,join,cut,paste,split

Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数

Linux笔记——条件测试test

Linux笔记——控制流

Linux笔记——shell补充:参数传递&函数等

Linux笔记——正则表达式入门及应用

Linux笔记——linux进程

Linux笔记——SVN命令总结

rpm&yum包管理命令总结

鉴于博客,表格&排版&颜色标记等等无法显示,大家可以下载这个笔记的资源

12个文档,不需要积分,以目录+表格+颜色标记形式

下载资源地址http://download.csdn.net/detail/wklken/3815477

The end! Thx! wklken的笔记

-----------------------------------------------


linux常用命令,包含了绝大部分的常用命令,用于快速练习和掌握

下一篇为重点命令的训练稿,包括find,grep,tr,cut,paste等较为重要的命令

awk和sed使用另立一篇

版本:1.0

录入2011-6-18

版本:2.0

补充和说明2011-7-31

版本:3.0

再次整理和补充 2011-11-19

1.目录操作... 1

2.文件操作... 2

3.权限操作... 5

4.时间日期... 6

5.压缩解压... 7

6.登录退出及账号... 8

7.其他命令... 9

8.常用按键... 9

9.命令选项大体通用含义... 10

10.常用命令别名... 10

命令格式:

CommandName option(s)argument(s)

n命令是大小写敏感的.

n命令、选项和参数之间必须用空格格开

n若命令在一行内写不完,可在行尾加\ , 再接着写。

1.目录操作

mkdir [-options] DIRECTORY

建立新目录[对其父目录必须有写权限]

-p:parent的缩写。自动建立所需路径中不存在的上层目录。

-m:建立指定权限的目录。

同时建立多个:

Mkdir -p ~/rpm/{BUILD,RPMS }

rmdir [-p] directory

删除目录

-p:多层次的空目录删除。由指定目录的最底层开始,逐层尝试删除空目录,当碰到非空目录时便停止删除的动作

问题:建立多层目录mkdir dir/di使用-p进行删除时失败

rm –rf dir【使用需慎重,误删后难以恢复】

pwd

显示当前工作目录,全路径名,第一个/为根目录,最后为当前目录

cd [directory]

改变目录

cd用户home目录

cd ~用户home目录

cd /根目录

.当前目录

..父目录

cd - 回到跳转到当前目录的上一个目录

即回到上一个工作空间

ls [-options] [filelist]

显示该目录或路径下所包含的文件及目录列表,以及文件的相关信息

-a用于列出目录中的所有文件,包括文件名以“.”开头的隐藏文件

-l以长格式列出文件的详细信息:文件的类型、操作权限、链接数、属主名、属组名、字节数以及最近修改时间

-d显示目录名而不显示其中的文件。

–R递归列出子目录

-r以逆序显示文件名列表

-x显示时以字母顺序

--color用不同颜色区分文件类型

2.文件操作

查看

cat [-n] filename

cat [-AEnTv]

将文件内容一次性显示到屏幕

-A:列出一些特殊字符[包括tab键和换行]

-n:显示行号;

-T:将tab键以:∧I显示出来;

-E:将结尾的换行符显示出来;

-v:列出一些看不出来的特殊字符[特殊字符,不包括tab和换行]

cat file1 file2 > file3可作合并文件用

cat file1 > file2 可做复制文件用

tac

反序输出,把文件内容反过来显示,文件内容的最后一行先显示,第一行最后显示。

正好与cat相反

Eg. tail -3 /etc/passwd | tac

列出三个最新建的使用者帐号

nl

显示的时候,输出行号

nl [-bnw]

其中,

-b a:表示不论是否为空行,同意列出行号

-b t:如果有空行,空行不要列出行号【默认的】

-n ln:行号在屏幕的最左方显示

-n rn:行号在字段的最右方显示,且不加0【同默认】

-n rz:行号在字段的最右方显示,且加0

-w:行号字段占用的位数

od

以二进制方式读取文件内容

more filename

分屏显示文件内容

f键或: 进入下一屏。

b键: 在文本中前移

: 向下移动一行

q键或:退出

less filename

浏览文字档案的内容,相对于more,less可以往回卷动

f/d在文本中前移

b/u在文本中后移

: 向下移动一行

q键:退出

less可以使用键盘上的上下键来前后翻页。/字符串:向下搜索;

?字符串:向上搜索;

n:重复前一个搜索;

N:反向重复前一个搜索;

head [-n] filename

显示文件前N行,默认前五行

tail

tail –f process

显示文件后五行

实时查看文件内容,在监控日志等文件查看时效果非常好

pg

分页显示文件内容

q退出

向下翻页

wc [ -options] [ Filename ]

统计

-l 显示行数

-w显示单词数

-c 显示字符数

cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]

要确定两个文件是否相同,请输入:

如果文件相同,则不显示消息。

如果文件不同,则显示第一个不同的位置.

如果文件相同,则给出值0,如果不同,则给出值1,或者如果发生错误,则给出值2。该命令形式通常用在shell步骤中。

if cmp -s prog.c.bak prog.c

then

echo No change

fi

diff [options] file1 file2

该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。

如果用”-”表示file1或file2,则表示标准输入。

如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。

增删改

touch [-t] [MMDDhhmm] filename

touch [-acdmt] 文件

若要输入时间格式,至少要输入MMDDhhmm,也就是月、日、小时与分。

如果没有输入时间,则默认为当前时间

参数:

-a : 仅修改access time。

-c : 仅修改时间,而不建立文件。

-d : 后面可以接日期,也可以使用—date=”日期或时间”

-m : 仅修改mtime。

-t:后面可以接时间,格式为 [YYMMDDhhmm]

cp [-options] src_file dst_file

复制文件命令

-i:在覆盖文件之前提示用户,由用户确认。

-R或-r:递归复制目录,即复制相应的目录及其所有子 目录【目录拷贝是使用到】

-v显示用命令执行过程[fileA -> fileB]

可拷贝多个文件

mv [-options] src_file dst_file

用于对文件进行名称更改或路径迁移

-f 强制执行。直接覆盖已存在的目的文件,不显示覆盖前的询问讯息。

-i 交互执行。当已存在同名的目标文件名时,在覆盖之前给出提示,由用户确认后才予以覆盖

rm [-options] files

删除文件或目录

-f:强制执行。

-i:交互执行,在执行删除前提示确认。

-R:递归的删除目录

rm –rf file 强制删除目录/文件

ln [-s] src [link name]

用于对一个已经存在的文件再创建一个新的链接,而不复制文件的内容

-s:符号链接。不加此选项代表硬连接。

src:链接所对应的源文件

Link name:链接文件名。如果是符号链接,也可以是目录名。

未加s,硬链接,删除源文件,链接文件还存在,内容还在

加s,软连接,删除源文件,链接文件存在,但是无法链接过去

查找;

whereis [-options] [file]

显示指令的二进制码、原始码与在线手册说明文件的存放目录.

whereis命令检索的子目录是固定编写在它的程序中的.

Whereis passwd

-b:只查找二进制文件;
-m :只查找在线手册manual路径下的文件;
-s : 只查找原始码文件

例如:

whereis –b svn

whereis –m cd

which

在环境变量$PATH设置的目录中,搜索某个系统命令的位置,并且返回第一个搜索结果,
所以如果你的$PATH设置的不全,那么查找的目录也是有限的

Which python

locate [file]

查询结果相当于find的模糊查询,它其实是“find -name”的另一种写法,但是要快得多,这是因为它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。如系统中无此db,则需要手动创建

使用的是一个文件名数据库检索

数据库的建立预设是每星期执行一次

如系统中无此db,则需要手动创建

sudo updatedb;

find <指定目录> <指定条件> <指定动作>

功能最强大的,也是最慢的,除非是使用前几个命令查找无果,一般是不推荐使用的【前几个命令查的是系统的】

例如:

find –name “d*”

【见后续重要命令整理版本】

3.权限操作

chmod [-options] xyz [filelist]

xyz:权限的十进制表示

-c:只有在文件权限确实改变时才进行详细说明;

-f:不打印“权限不能改变”之类的文件错误信息;

-R:递归改变目录及其内容的权限;

-v:详细说明权限的变化

另附:

设置suid $chmod 4741 filename

设置guid $chmod 2741 filename

umask

设定文件创建时的缺省模式

umask显示

umask xyz设置

目录最大777即rwx rwx rwx

文件最大666

Umask=002 即 - - - - - - -w-

结果 目录775 rwx rwx r-x

文件664 rw- rw- r—

chown [-options] user[:group] filelist

改变文件的所有者

-R:递归改变目录及其内容的所属用户或用户组

user表示将要改变的所有者用户名或用户id

group表示将要改变的所属用户组名或组id

chgrp groupname filename

修改文件所属群组

groupadd

创建用户组

groupdel[群组名称]

需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组

useradd

创建用户

userdel[-r][用户帐号]

userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件

-f 删除用户登入目录以及目录中所有文件

passwd username

设置密码

4.时间日期

date

显示时间日期

-s年月日 设置日期

-s时:分:秒 设置时间

系统日期只能由系统管理员设置

日期格式化:【注意date与+号之间有空格】

$date +”%Y%m%d %T”

$date +”%Y%m%d %H:%M:%S”

20110713 16:09:20

【注意—和+号之前均有空格,否则语法错误】

date --date=”-1 week” +%Y%m%d

date --date=”1 days ago” +%Y%m%d

date --date=”-24 hour” +%Y%m%d

date --date=”-12 day” +%Y%m%d

date +%Y%m%d

cal [month] [year]

显示日历[若未输入显示当前月份信息]

cal年 显示当前日历

不能只输入月份,年份是必须的,月份可有可无,无月份输出全年的【只输入一个额,当成年份处理了】

time [options] COMMAND [arguments]

time指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等资讯。

Eg. $time ls -l

5.压缩解压

zip [-options] file.zip filename

压缩文件

-m压缩后自动删除原文件

-r递归压缩对应目录下的子目录

-j忽略子目录内容

unzip file.zip [-x file2]

解压file.zip,除了file2文件之外

unzip –v file.zip查看压缩包内容

unzip -t large.zip验证压缩包是否完全

unzip -j music.zip把子目录压缩文件提到第一级目录中

gzip

-d,解压缩:

$gzip -d xyz.gz

$gizp –n abc.tar压缩,带参数

注释:

-1也可以换成–fast,

-9也可以用–best代替,-9表示压缩比高,但速度最慢。

默认的是-6

Tar

打包

遇到一个文.tar,解压缩

$ tar -xvf edf.tar

压缩成.tar.gz的压缩文件:

$ tar -czvf dirabc.tar.gz dirabc

查看.tar.gz压缩文件里包含哪些文件

$ tar -ztvf abc.tar.gz

只想提取一个文件

$ tar -xzvf abc.tar.gz def/xyz.txt

解压.tar.gz时保留原来被压缩文件的权限(常用于备份)

$ tar -xzvpf abc.tar.gz

6.登录退出及账号

登录退出

login

登录

su <用户名>

切换用户账号。

提示输入密码,密码正确输入后登入新用户,输入exit命令返回前一账号。

su

切换至root用户账号,不要轻易这么做

root用户切换其它用户,不需要输入密码

〈Ctrl-D〉

退出

exit

退出

logout

退出

账号信息

who

w

显示登录到系统的所有账户信息

who –u –H

显示目前登陆到系统的所有用户登陆信息

whoami

id -un

显示当前用户的有效账号

只显示用户名

who am I

显示当前用户的登录账号

显示用户名,登录时间,ip等登录信息

uname -n

识别主机(查看主机名)

hostname

识别主机(查看主机名)

邮件消息信息

mail

发送e-mail

未输入username则显示接收的email信息

wall

在系统中的所有在线用户的终端上显示信息,主要用于广播系统管理信息。

write

若一用户在线,可用write命令发送信息

talk

mesg [n/y]

命令可以决定用户是否接收来自talk, write和wall命令发送的消息,但对root用户的发送的消息不起作用.

N拒绝y允许

7.其他命令

clear

清屏 或者+l

echo str

在标准输出上显示字符

man command

帮助命令

f/ :每次向后翻一页

:每次向后移动一行

:每次向前翻一页

or q : 退出man命令.

du

du会显示指定的目录或文件所占用的磁盘空间

-a全部文件 包括隐藏的

-h以M为单位显示文件大小结果

-s统计此目录中所有文件大小总和

du -h—max-depth=1

仅查询一层

df

查看硬盘使用情况

fdisk

观察硬盘之实体使用情形与分割硬盘用。

在console上输入fdisk -l /dev/sda ,观察硬盘之实体使用情形。
在console上输入fdisk /dev/sda,可进入分割硬盘模式

type command

后跟命令,区分某个命令是否为shell自带的还是由shell外部的独立二进制文件提供的

alias

可以查看命令别名命名的信息

scp local_file_A username@other_host_name:dir_name

scp data.tar.gz aaa@hostb:/home/aaa /

两台主机之间拷贝文件

sudo

使用方式: sudo [-bhHpV][-s ][-u <用户>][指令] 或 sudo [-klv]

说明:允许系统管理员分配给普通用户一些合理的“权限”,让他们执行一些只有超级用户或其他特定用户才能完成的任务。经由 sudo 所执行的命令就好像是 root 亲自执行,也就是说以系统管理者的身份执行命令。

"super user do"的意思

-V 显示版本编号   

-h 会显示版本编号及指令的使用方式说明   

-l 显示出自己(执行 sudo 的使用者)的权限   

-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码   

-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)   

-b 将要执行的指令放在背景执行   

-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称   -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)   

-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell   

-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

8.常用按键

删除

中断当前的命令并返回Shell. 【终止当前进程】

中断当前的通信或从文件中退出【退出shell】

暂停当前进程bg后台运行,fg转到前台

清空屏幕

光标跳至命令结尾

光标跳至命令开始

删除整行.可用于删除整行已录入的命令【只删除光标之前的】

删除光标后的内容

ctrl + w 删除光标前的一个单词

ctrl + s 锁定键盘

ctrl + q 解锁键盘

ctrl+alt+delete 重启服务器

alt + Fn 切换终端

tab 将命令匹配完整, 自动补足路径,命令

ctrl + r 匹配历史命令,可以搜索自己以前使用过的命令

9.命令选项大体通用含义

-a

all

全部

-b

binary

二进制

-c

character

字符

count

计数

-f

force

强制

-i

interact

交互

ignore

忽略大小写

-j

jump

跳过

-l

long

长格式

line

-m

move

移除

-n

number

行号

-p

parent

上层父目录

-r

reverse

逆序

-R

Recursion

递归

-s

set

设置

soft

软连接

-t

time

时间戳

-v

view

查看

-w

word

单词

10.常用命令别名

alias ls='ls -GF'

alias s='sudo'

alias gu='iconv -f gbk -t utf-8'

alias ug='iconv -f utf-8 -t gbk'

alias ssh='ssh -2'

alias ll='ls -al --color=tty'

alias vd='vimdiff'

alias tf='tail -f'

alias lftp="lftp username:passwd@ftpIP"

if [ $OS = "Linux" ]; then

alias ls='ls --color -F'

alias scp='scp -1'

fi


你可能感兴趣的:(Linux笔记——linux常用命令集合)