Linux入门

一、ls 2>test:把错误信息重定向到test中,在普通用户下ls /root 2> test就会把出错信息重定向到test文件中。

二、wc < /etc/passwd:标准输入重定向,wc /etc/passwd只是打开文件进行计数,没有任何的重定向,wc << aa

>afafaf afdsaf   sf

>afaf gagd

>aa             这个是here文档,其统计的是分隔符之内的行数,子数和字符数。

三、管道:cat /etc/shadow | more  ls /bin |wc –w  管道就是前一条命令作为后一条命令的输入,可以多条管道:ps aux | grep bash | grep  -v  grep

四、bg:把前台进程移到后台 fg:把后台进程移到前台 jobs:显示当前后台进程 ctrl+z:结束当前前台进程

五、history:历史表列出曾经执行过的命令,可以通过!1103(命令号)执行曾经执行过的命令,存放在.bash_history

六、补全命令:如:chm+tab就会把命令补全为chmod,也可以吧文件名补全,但如果有多个命令相匹配时,就可以按两次tab键显示所有与之匹配的命令。

七、给命令起别名:alias cls=’clear’,取消别名:unalias cls,可以通过vialias cls=’clear’保存到.bashrc文件中,也可以配置到root用户下的/etc/bashrc文件中,这样所有用户都可以用到。

 

 

 

 

 

Linux文件系统

一、fdisk –l列出当前分区使用情况;df–h查看分区加载点

二、把优盘挂载到虚拟机中:首先把优盘connect到虚拟机中,然后在/mnt中建一个新目录/mnt/udisk,用命令mount/dev/sdb /mnt/udisk 把优盘/dev/sdb挂载到/mnt/udisk;用命令umount /dev/sdb或者umount /mnt/udisk把优盘卸载,断开connect,使用权重归主机。

三、touch a :建立一个文件,ls –ia :查看一个文件的索引节点号,ln a b创建一个连接,ab公用一个索引结点号,创立的连接可以对应不同的路径如:ln a tt/ee,此时abc对应的是同一结点。

四、符号连接:为了解决索引结点连接不能跨分区连接的问题,可以用命令ln –s a x建立文件x与文件a的符号连接,此时x的索引结点号与a的不同,此时连接成为软连接,相对于硬链接软连接效率低些。

 

 

 

 

 

 

 

 

 

 

Linux管理命令

 

一、df:查看文件分区及使用情况,df–h易于直观查看,df /bin可以查看某个文件的所属文件系统及挂载点。

二、du:查看文件夹的容量,du –h:直观查看,du –sh:直观查看文件夹本身的容量。

三、free:查看内存使用情况,其中的bufferscached其实是内存的一部分,而非CPU里的缓存,cached要比buffers快。

四、ps:查看当前进程,ps –aux:查看所有的进程,ps –ef:其中的PPIDPID的父进程。

五、top = free+ps

六、kill:向进程发送一个信号,kill–l:列出信号,killall 进程名称,kill -9 pid:杀死进程

七、rpm –ivhda.rpm:安装da.rpm软件包,i代表安装,v代表安装信号,h代表安装进度;

rpm –Uvh da.rpm 更新da.rpm软件包;rpm –eglimc卸载软件包,卸载时不跟软件版本号

rpm –qa查看所有的已安装的软件包;rpm –q gcc查看软件包的版本号

八、tar –cvfcprograming.tar cprograming 创建一个备份文档;

tar –zvf cprograming.tar 从备份文档中提取文件;

tar –cvzf cprograming.tar.gz cprogrming 创建一个备份文件并压缩;

tar –xvzf cprograming.tar.gz 从压缩文档中提取文件

tar –cvjf cprograming.tar.bz2 cprograming     tar –xvjf cprograming.tar.bz2

tar –tvf cprograming.tar 查看备份文件中的文件名

 

 

 

Linux文件权限

一、用户级别:

root:系统特权用户类;owner:实际拥有文件的用户;group共享文件的组访问权用户类的用户组名称;world不属于上面三类的组名称。

二、cat/etc/passwd  cat/etc/shadow  查看密码和影子文件的信息

三、group文件格式:groupname:grouppasswd:gid:userlist

四、groupaddg_test 添加名为g_test的组,groupadd  –g 1111 g_test 添加组号为1111名为g_test的组。

   四、gpasswd –a bluzeg_test  向组g_test中添加用户bluze

gpasswd –d bluzeg_test  把用户bluze从组里删除,

groupmod –n gtestg_test  把组g_test改为组gtest

groups root  查看root用户属于哪些组

useradd study  添加用户

adduser –g bluze –Ggtest  test1  把用户添加到默认组bluze中,用G表示添加到其它组,其它组可以为多个

usermod –g bluzetest1  把用户test1的默认组改为bluze

passwd  bluze 为用户bluze修改密码,passwd –dbluze 为用户bluze删除密码

userdel – f test 删除用户,但不会删除用户的家目录下的文件,

userdel –rf test删除用户,也删除用户的家目录下的文件

useradd –d /hhstudy  新建用户并把其家目录放在/hh

五、su root 切换到root用户模式,su –root彻底切换到root用户,exit 退出用户

六、id bluze 查看用户bluzeuid/gid

七、用户的文件权限格式为 –rwxrwxrwx;第一位表示文件类型: -为普通文件,d为目录文件,l问符号链接文件;接下来为owner用户的读写执行权限,紧接着为group用户的读写执行权限,最后为world用户的读写执行权限。

八、chownroot:root a 把文件a的用户和组都改为rootchown study a 把文件a的用户改为rootchown –R root b 把文件夹的所有文件递归改为root用户;

chgrp用于对用户组的更改,用法和chown的一样;

chmod 777 a 改变文件augorwxrwxrwx

chmod a=rw b   chmodu+x a   chmod g-r a

         十、

1/usr/bin/passwd –rwsr-xr-x

2etc/shadow –r----------

3suid权限针对运行中的进程

4suid权限仅对可执行程序有效即具有x权限

5、运行中的进程将具有该程序拥有者的权限

                   ls–l /usr/bin/passwd可知passwd的拥有者为root,而root用户具有强者写入的权限,所有当前用户可以修改自己的密码,尽管其没有访问/ect/shadow的权限。

6s出现在组权限的x的位置上时,称为sgid

         十一、/tmp drwxrwxrwt ,仅对目录有效,其中的t防止文件或目录被非属主删除,便于多个用户共享文件夹,用户建立的文件只能被自己和root删除。

十二、umask 查看当前用户的掩码,root用户下为0022,在bluze用户下为0002

         root用户下建立一个文件toucha,文件a本没有执行的权限,经过公式mod = 666&~umask后就变成了-rw-r—r--,mkdir b建立一个文件夹,mod = 777&~umask后变成drwxr-xr-xchmod 4744 a可以增加aowners权限,chmod 1645 a可以增加at权限。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vi的用法


编辑模式:

一、移动光标

k向上,j向下,h向左,l向右,H屏幕首行,L屏幕最后一行,M屏幕中间一行,Ctrl+B向上翻页,Ctrl+F向下翻页,$移到行尾,0移到行首

二、搜索

/word 对“word”进行搜索,n键是定位到下一个匹配的;?word对“word”进行反向搜索,n键此时向上搜索

三、删除和替换

dd删除光标所在行,2dd删除光标接下来的两行,d$删除光标所在到行尾,d0删除光标所在到行首,dL删除光标所在行到屏幕结尾;

rm把光标所在的字母替换为m5rm把光标所在的及其后5个子母替换为m

J删除光标所在行的换行符,将两行合并;G光标定位文件的最后一行

五、剪切和复制

dd剪切,p复制到光标所在的下一行,P复制到光标所在的上一行,yy复制当前所在行

u是撤销,.号是重复上一条命令

插入模式

一、             i精通插入模式,a在光标右侧进行插入,o在光标下行进行插入,O在光标上行进行插入;

命令模式

:/^public 匹配在行首出现public

:/public$匹配在行末匹配的public

:s/public/PUBLIC 光标当前行的第一个public被替换为PUBLIC,

:1,$s/public/PUBLICg所有的public都被替换成PUBLIC

:d删除当前行,:2d删除第二行,:.,$d删除当前行到文件末尾,

/str1/,/str2/d删除str1所在的行到str2所在的行

set nu显示行号

!command显示在shell下的command结果,enter键返回vi模式

 

 

 

 

 

 

 

grep命令

一、             grep –n ^public b b文件中寻找行首出现public并显示行号,^表示从行首开始匹配。

二、$表示从行末匹配,grep –npublic$ b表示把行末出现public的行显示出来

三、grep –n ‘\<public’b 找出单词的开头是public的行及行号,这里用‘’是为了避免\的影响;grep –n ‘public\>’ b结尾匹配,‘’抑制shell对字符串的解析

四、grep –n ^$ b显示b中空行的行号,grep –n^.S b显示b中只有一个字符的行及行号

五、grep –n 11[MNX] b表示匹配11MNX中的任意一个字符或其组合,

         grep –n 11[^MNX] b表示匹配11和任何不在MNX中字符的组合

         grep –n ‘\\’ b  <=> grep –n “\\\\” b

         grep –n go*d b在文件中找到gd godgood等的o出现0次或多次的行

         grep –ni public b表示不区分大小写地对public进行匹配

六、grep –nEgo+d b其中E表示扩展的字符集,+表示对前一个字符o进行一次或多次匹配

grep –nE 10?A b其中?表示对前一字符进行0次或一次匹配,得到10A 1A

grep –nE 10{3}A b 表示对0进行3次匹配,得到1000A

grep –nE ‘10{1,4}A’ b表示对0进行1-4次匹配,这里也可以用grep–nE “10{1,4}A” b,双引号可以对部分特殊字符进行抑制,这里也可以用转义字符grep –nE 10\{1,4\}A b

grep –nE nets\(work\)b这里把work当成一项进行处理,此时用到扩展字符,故这里加E,其等价于egrep –n nets\(work\) b

grep –n public *.txt通配符可以在多个文件中进行修改

七、ps aux |grep mingetty | grep –v grep列出所有包括mingetty的进程但不包括grep的进程,-v 表示反向匹配

八、grep –nrtelnet /etc在文件夹/etc递归搜索含有telnet的行

九、grep –lpublic *.txt 表示列出含有public的文件

十、s/aa.*zz//aazz之间的零个或多个字符替换掉

1,$s/and/\&/g 把文件当中的所有and替换成&,因为&特殊字符,故需要\转义字符

1,$s/^/new/g 把文件中每行行首增加一个new

1,3s/$/@@ 1-3行的行尾增加@@

1,$s/^[0-9][0-9]*//把行首的数字全部去掉

 

find命令

一、find命令的主要作用是树形层次目录结构进行彻底检查,find pathname –expressions

二、find 路径和表达式,等价于find. –print

三、find . –name ‘*.c’ 把与‘*.c’匹配的文件全部列出来,等价于find . –name ‘*.c’ –print

四、find . –name “test*”–type f –print  把该目录下所有的与test*匹配的文件列出来

五、mkdir tmp     cd tmp   touch a.bak   touch b.bak    mkdir c.bak

find . –name ‘*.bak’ –type f –exec rm –f {} \; -print   删除与‘*.bak’匹配的文件删除并打印出来,\为转义字符,;是告诉find  rm命令执行结束

六、find . –type f –mtime-4 –print把最近4天修改的文件列出来,

find . –type f –mtime -4 –print把最近4天前修改的文件列出来,

find . –type f –size +500k –exec ls –lh {} \;把当前目录下大于500k的文件列出来,

find . –name ‘[Aa]*’ –o –name ‘*[Aa]’ 把以a开头或以a结尾的文件print出来,忽略大小写,其与find. \( -name ‘[Aa]*’ –o –name ‘*[Aa]’ \) –print等价,但与find . –name ‘[Aa]*’–o –name ‘*[Aa]’ –print不等价,因为-name ‘*[Aa]’ –print之间是与关系大于–name ‘[Aa]*’ –o –name ‘*[Aa]’之间的或关系

七、find /etc –type f –execgrep –li “test” {} \; | wc –l统计etc文件夹下包含“test”文件的数目。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值