linux常用命令笔记

            linux常用命令笔记
简单的命令:
date
cal
df
free
按Alt+Ctrl+F1~F6可以切换到不同的虚拟控制台
 
导航文件系统命令:
 
 
导航
pwd
cd
ls
创建符号连接和硬链接:ln
 
Linux系统
ls
file
less
 
 
linux系统中的命令:
/根目录
/bin包含系统启动和运行所必须的二进制文件(程序)
/boot系统启动程序加载文件
/dev包含设备节点的特殊目录,内核能将它能够识别的所有设备存放在这个文件夹中
/etc配置文件
/home在通常的配置中,每个用户都会在/home目录中拥有一个属于自己的目录,
普通用户只能在自己的主目录中创建文件。这一限制可以保护系统免遭错误的用户行为的破坏。
/lib包含核心程序使用的共享库文件
/lost+found文件系统崩溃时,该目录用于恢复分区。
/media媒体设备节点
/mnt手动挂载的可移除设备节点
/opt用来安装其他可选的软件——其他安装的商业软件
/proc是一个linux内核维护的虚拟文件系统,它包含的文件是内核的窥视口,该文件是可读的,
从中可以看到内核是如何监管计算机的。
/rootroot账户的主目录
/sbin存放为超级用户预留的二进制文件
/tmp用户存放各类程序创建的临时文件的目录,重启时可能会清空。
/usrlinux系统中最大的目录树,它包含普通用户使用的所用程序和相关文件。
/var可能改变的数据存储在/var目录树里。各种数据库、假脱机文件、用户邮件等都存储在这里。
/var/log日志文件,某些文件必须是超级用户才可以看见。
 
 
操作文件与目录
cp
mv
mkdir
rm
ln
通配符:提供一些特殊字符来帮助快速指定一组文件名的特殊字符称之为通配符。
*:匹配任意多个字符(包括0个和1个)
?:匹配任意单个字符(不包括0个)
[characters]匹配任意一个属于字符集中的字符
[!characters]匹配任意一个不属于字符集中的字符
[[:class:]]匹配任意一个属于自定字符类中的字符
***常见的字符类***
[:alnum:]
[:alpha:]
[:digit:]
[:lower:]
[:upper:]
[0-9]
[A-Z]谨慎用
硬链接的缺陷:不能引用目录
        不能引用同一文件分区的文件
        不能引用非文件系统的文件
        硬链接会生成额外的目录
符号连接克服这些缺陷。
注意符号连接的创建既可以使用相对目录(注意所连接的文件的位置),也可以使用绝对目录
 
 
 
 
 
命令的使用
type:显示命令的类型
which
man
apropos
info
whatis:简单说明应用程序的作用
alias-->alias name='string'-->unalias
命令的类型:
    可执行程序:程序可以编译为二进制文件
    shell内置命令:shell builtin命令
    shell函数:
    alias命令
 
 
 
 
 
 
重定向
cat合并文件
sort排序
uniq报告或删除文件中重复的行
wc打印匹配行
grep打印匹配行
head
tail
tee读取标准输入的数据,并将其内容输出到标准输出和文件中(相当与T型管道)
>
>>
管道
 
 
透过shell看世界
echo:显示一行文本
yong@ubuntu:~/Desktop$ echo *
java ls.txt passwd_file test.txt ubuntu_test
printenv:查看可用变量
    拓展
    路径名拓展:查看隐藏文件的命令:ls -d  .[!.]?*
    波浪线拓展:文件主用户目录
    算数拓展
    ***花括号拓展e.g:mkdir hello{A..Z}
    参数拓展
    命令替换:可以把一个命令的输出作为一个拓展模式使用
    双引号
    单引号:抑制所有的拓展
    反斜杠转义字符
 
 
 
 
 
 
高级键盘技巧
clear
history
Ctrl+L(清屏命令)
剪切和粘贴文本(killing and yanking )
    Ctrl+U:剪切光标到行首的文本
    Ctrl+K:剪切光标到行尾的文本
    Ctrl+Y:把kill-ring缓冲区的文本粘贴到光标位置
Tab键自动补齐功能
历史记录命令:
    Alt+<移动到历史记录的开始项    
    Alt+>移动到历史记录的末尾项
    Ctrl+R:逆向查询目录
    Ctrl+J:将把搜索到的内容从历史记录列表复制到当前命令行
    Enter:表示执行此命令    
    Ctrl+C:退出搜索
历史拓展命令:
    !!:重复最后一个执行的命令
    !number:重复历史记录中第number行的命令
    !string:重复最近的以string开头的历史记录
    !?string:重复最近的包含string的历史命令
script命令:记录整个会话
 
 
 
 
 
权限
id
chmod-->7(rwx)    6(rw-)    5(r-x)    4(r--)    3(-wx)    2(-w-)    1(--x)    0(---)
umask:设置默认权限
su
sudo
chown
chgrp
passwd
chmod命令符号表示法
    u:user的简写,表示文件或者目录的所有者
    g:文件所属群组
    o:others的简写,表示其他所有用户
    a:all的简写
    +/-/=:添加或者删除权限
setuid:4000
setgid:2000
sticky:1000
默认情况下Ubuntu不允许用户以root账户的身份登录
 
 
 
环境
printenv:打印部分或全部的环境信息
set:设置shell选项
export:将环境导出到随后要运行的程序中
alias:为命令创建一个别名
一般来说,在PATH中添加目录,或者定义而外的环境变量,需要将这些更改放入到.bash_profile文件中(或其他等效文件中),其他的改变则应录入.bashrc文件中
当修改bashrc等其他配置文件后使用source命令强制bash重新读取.bashrc文件。
 
 
 
 
 
进程
ps
top
jobs
bg
fg
kill
killall
shutdown
要想在启动程序时让该程序在后台运行,可以在命令后面加上和号字符(&)来实现
通过在fg命令后面加上百分比符号和作业编号实现后台程序前台运行。
e.g:
root@kali:~/Desktop# cd ..
root@kali:~# xlogo &
[1] 12838
root@kali:~# jobs
[1]+  Running                 xlogo &
root@kali:~# fg %1
xlogo
^C
 
Ctrl+Z:暂停程序
pstree
vmstat
xload
tload
 
 
软件包管理
Linux发行版的两种技术阵营:即Debian的.deb技术和Red Hat的.rpm技术。
软件包系统工具
发行版本    低级工具    高级工具
Debian        dpkg        apt-get、aptitude
Fedora、RHEL、CentOS rpm    yum  
 
 
 
 
存储介质:
mount:挂载文件系统
unmount:卸载文件系统
fdisk:硬盘分区命令
fsck:检查修复文件系统
fdformat:格式化软盘
mksf:创建文件系统
dd:向设备直接写入面向块数据
genisoimage(mkisofs):创建一个ISO9600映像文件
wodim(cdrecord):向光存贮介质写入数据
md5sum:计算MD5校验码
    RAID(独立冗余磁盘阵列)    LVM(逻辑卷管理)    
    硬盘之类的物理存储器    网络存储器
RAM随机访问内存(random-access memory的缩写)
常见的文件系统:FAT16(msdos)、FAT32(vfat)、NTFS(ntfs)、CD-ROM(iso9600)
 
 
 
 
网络
Linux工具可以建立各种网络系统及应用,包括防火墙、路由器、域名服务器、NAS(网络附加存储)盒等。
ping:向网络主机发送ICMP
ECHO_REQUEST数据包(ping连接成功则表明网络各组成员(接口卡、电缆、路由和网关)总体处于良好的工作状态)
traceroute:跟踪网络数据包的传输路径
ftp
lftp
wget:非交互式网络下载器
lo:系统用来自己访问的回环虚拟接口。
 
 
 
 
归档和备份
gzip
bzip2
tar
zip
rsync
MP3和JPEG是压缩文件
对压缩文件进行压缩,只会浪费空间和时间
tar:
tar命令使用--wildcards选项而支持通配符
如果文件名前面明确指定有连字符“-”,
那就意味着这是标准输入输出的文件(使用“-”代表标准“输入输出的惯例”)
--files-from选项(也可简写成-T)则指定了tar命令从文件中而不是从命令行中读取文件路径名列表。
tar命令提供gzip+j选项和bzip2选项直接实现这一功能e.g:tar czf playround.tgz -T -
 
 
编译程序:
make:维护程序的工具
./configure:配置安装(配置编译环境)
make install  
 
 
 
 
打印:
pr
lpr
lp
a2ps
lpstat
lpq
lprm  
cancel
 
 
 
格式化输出
nl
fold
fmt
pr
printf
grof
 
 
 
文本处理
cat
sort
uniq
cut
paste
join
comm
diff
patch
tr
sed
aspel
split
csplit
sdiff
 
正则表达式(一种符号表示法,用于识别文本模式。类似与匹配文件和路径名时使用的shell通配符)
正则表达式的元字符:^ $ . [ ] { } - ? * + ( ) | /  
反斜杠字符用来创建元序列,以及用来对元字符进行转义,使其成为文字字符,再被解释为元字符。
1、任意字符:.  *
2、锚(^$将会匹配空行):$ ^
3、中括号(表示或)表达式和字符类:中括号中可以使用元字符,有不同的含义:(1)插入符(^):它
在中括号内使用表示否定;(2)连字符(-)表示字符范围;(3)还可用于指定匹配的字符集
4、或选项:|  
########################
POSIX字符类
[:alnum:]    字母字符和数字字符;在ASCII码中,与【A-Za-z0-9】等效
[:word:]    基本与【:alnum:】一样,只是多了一个下划线字符
[:alpha:]    字母字符;在ASCII中,等效与【A-Za-z】
[:blank:]    包括空格和制表符
[:cntrl:]    ASCII控制码;包括ASCII字符0-31以及127
[:digit:]    数字0-9
[:graph:]    可见字符;在ASCII中,包括字符33-126
[:lower:]    小写字母
[:punct:]    标点符号字符
[:space:]    可打印字符;包括【:graph:】中的所有字符加上空格键
[:upper:]    大写字符
[:xdigit:]    用于表示十六进制的字符;在ASCII中,与【0-9a-fA-F】等效
########################
查看环境设置:locle
只有在用反斜杠进行转义的情况下,字符(、)、{、}、才会在bre被当作元字符处理
而在ere中,任何元符号前面加上反斜杠反而会使其被当作文字字符来处理。
5、或选项:|
6、限定符:?(匹配某元素0次或1次)
7、匹配某元素多次或零次:*
8、匹配某元素一次或多次:+
9、指定次数匹配某元素:{}    指定项匹配次数:     {n} 前面的元素恰好出现n次则匹配
                    {n,m}前面的元素出现的次数在n-m之间时则匹配
                    {n,}前面的元素出现次数超过n次则匹配
                    {,m}前面的元素出现次数不超过m次则匹配
 
 
 
 
sed——用于文本过滤和转换的流编辑器
(1)sed的地址表达法
N    n是正整数表示行号
$    最好一行
/regexp/    用POSIX基本正则表达式描述的行。这里的正则表达式用的是斜线作为分界线
    ,当然,也可以自己选择分解符,只要用\cregexpc选项指定即可,这里的c就
    是用于取代斜杆的分界符。
addr1,addr2    行范围,表示从addr1至addr2的所有行。地址可以是上面所述的任何一种
first~step    表示代号从first行开始,以step为间隔的所有行。例如,1~2是指所有奇数行
        而5~5是指第5行和以及随后的所有是5的倍数的行
addr1,+n    addr1行及其之后的n行
addr!        除了addr行之外的所有行,addr可以用上面的任何一种形式表达
 
(2)sed基本编辑指令
=    输出当前行号
a    在当前行后附加文本
d    删除当前行
i    在当前行前输入文本
p    打印当前行。默认情况下,sed会输出每一行并且只编辑文件内那些匹配
    指定的行。当指定-n选项时,默认操作会被覆盖
q    退出sed不在处理其他行。如果没有指定-n选项,就会输出当前行
Q    直接退出sed不再处理行
s/regexp/replacement/能包含\1到\9的序列,它们代表的是regexp中相应位置
    的描述内容。
y/set1/set2 将字符集set1转换为字符集set2.请注意,与tr不同,sed要求这两个字符集等长
sed默认情况下只接受基本正则表达式

你可能感兴趣的:(2015年11月,linux,命令)