Linux命令学习/积累

ifconfig:网卡控制(if:interface网络)

df:列出磁盘分区使用率

ls:列出当前目录的文件

TAB键:命令补全

fsck:File System ChecK

                    -h:human:人性化显示文件的大小(不带这个选项会显示字节为单位)

-d:dirtory -a:all   -l:long(显示长属性)   -i:显示文件节点

要创建两级目录时(新建一个目录再在里面建一个目录)必须要先建立一级目录再建二级目录;除非使用-p递归;可以同时创建多个目录(就像命令选项一样可以输入多个)。

..上一级目录

.当前目录

 

 

空目录:甚至连里面的子目录如果没删除是无法执行的。

注意:跟上面一样可以同时输入多个目录同时删除。

-p保留文件属性:表示复制的新文件会使用相同的时间;否则使用当前时间

-r复制目录:会把目录里面的东西也一并复制过去,并且时间改变(除非-p)

 

清屏:clear或者Ctrl+L

改名:mv xxx ./xxx       利用.表示本身文件夹来改名。或者:干脆省略./,直接写新的文件名就是默认在当前目录下。

一样可以同时写多个删除目标。-f:强制执行:不经过询问就直接删除,不加-r是不能删除目录的。删除目录的时候务必要加上-f,否则它会问你目录下的所有文件是否确认删除,要一个个来点y or n。

终止、退出任何一个命令:Ctrl+C

可以同时创建多个空文件,当文件名中含有空格时,在输入后系统会认为空格前后的两个名称分别指两个文件,与理想不同。这时可以使用双引号来指示这两个单词是同一个文件。

/etc/issue:是系统的欢迎信息

注意:tac是cat的反向写法,也是反向现实!!!!

很明显:除了q、Q外,Ctrl+C也可以退出

往上翻页:pageup(翻页)上箭头(上一行)、空格:下一行、回车:下一行

别忘了Q是退出,这里Ctrl+C好像不管用

具有搜索功能:按一下斜杠

 

同步更新:修改原文件或硬链接中的一个可以使另一个跟着改变;(与复制的差别:复制不会改变另一个)

如果原文件丢失,软连接的名字会变成红色并闪烁(在ls下)(然而并没有闪烁)

一个文件有一个i节点,但一个i节点不止分配给一个文件,硬链接的i节点与原文件相同。(内核实际上针对i节点进行操作,它对相同i节点的文件进行操作故硬链接可以同步更新)。硬链接比较少用。

ugoa:u:所有者、g:group所有者组、o:other其他人、a:all所有人

例子:chmod u+w   chmod o-x     chmod g=rw-   [文件、目录]

                  可以使用逗号来同时修改权限:chmod u+x,g+r,o-rw test.list

可以:chmod u+rw,g+rw-,o=r test.list      chmod a=--- test,list

相当于8421码各位的权

-r:递归修改:修改目录下所有的文件的权限(不加-r就只改变当前目录或文件)

添加用户:useradd+用户名

修改用户的密码:passwd+用户名

root创建的文件,即使普通用户没有写权限,也可以将这个文件删除

script:脚本

要想文件夹内某个文件不能被普通用户删除,则你必须在文件夹中的权限中别给用户w权限,而不是在文件的权限中进行设置。

一般一个目录的r、x是同时出现的,因为x允许进入,而r允许读取;若r、x只有其一,则只能进入但不能列出文件,或能列出文件却不能进入这种奇怪的现象。

只有root和文件所有者才能改变文件的所有者以及改变优先级

添加组:groupadd

创建的文件缺省是没有可执行权限的(包括root,即最多只有RW),创建的文件夹可以有x(可进入)。

尽量少用搜索(占用大量系统资源)

包含查找: find  /xxx  -name  *xxxx*        *:匹配任意字符,?:匹配单个字符

*init* :包含 init的文件、init*:以init为开头的文件

init???:以init为开头的文件,后面跟三个字符

注意文件名在find的时候也要严格区分大小写

注意SIZE后面跟的是数据块,在Linux中一个数据块是512字节==0.5k!!!!!

-a表示and     -ok会询问是否确认     分号

i节点可以用来替代文件名,遇到奇奇怪怪的文件名可以改成用i节点去删除。i节点的另一个作用:因为硬链接不能跨分区,故i节点还可以用来判断一个文件是不是硬链接。

缺点:最近建立的文件不能找到(因为它的资料库没有更新)

更新:updatedb

注意:/tmp不在locate的资料库的范围内、注意区分大小写(使用-i:ingore忽略大小写)

用于查找二进制可执行文件(命令),还可以查找某个命令是否有别名

同样-i不区分大小写

#:井号开头的行表示脚本script或者命令的注释

清除注释:grep –v ^# /xxx/xxxx                   //清除以#号开头的行;不加^会导致只要含有#的行(不一定是注释或全是注释)都会被删除。^:表示开头的意思,^#:表示以#号开头

                                   man/etc/services是显示这个ser文件而不是取得services的帮助信息

                                   manservices才是查看配置文件services 的帮助信息

manual:指南、手册           q退出  空格翻页  回车下一行

实际上是使用了more来显示帮助信息,键入关键字可以查找,用N来查找下一个关键字

注意查找关键字的时候务必在前面加一个斜杠/

http的端口:80    ftp端口:20    端口的作用:端口不同提供不同的服务、不同的协议

SSH:远程连接服务:Secure Shell

1:命令的帮助,5:配置文件的帮助         

当一个名称兼为命令和配置文件的时候,系统默认显示1(即命令的帮助)

man 5 passwd:查看配置文件passwd的帮助

msn passwd:man 1 passwd:查看命令passwd的帮助文件

whatis +命令:直接查看该命令的用途(不会打开复杂冗长的帮助文件)

apropos+配置文件名称:显示配置文件的作用(名称不要加绝对地址)

命令+  --help :仅查看命令的各个选项及作用及影响

date MMDDhhmm[[CC][YY]][.SS]:月日小时分钟世纪年.秒

另一个帮助命令:info  与  man相差不大,基本可以互用,但实际有一点点不同

shell:命令解释器、外壳

怎么判断shell内置命令:内置命令是找不到路径的(whereis找不到)

内置命令的帮助信息无法使用man来查找,只能使用help来查找

 

 

 

 

 

*:通配符的作用:

help +命令:查看Shell内置命令的帮助信息

命令+ --help:查看该命令的各个选项及其作用

whatis +命令:查看该命令的作用而不显示复杂的帮助信息

info:作用基本同man

单纯的添加一个用户而不给设置密码是没有成功设置用户的,没有设置密码该用户无法登录。

直接敲passwd而不加用户名是修改自己的密码,普通用户仅能修改自己密码

普通用户输入简单的密码会被拒绝,多次拒绝后会被passwd服务踢出,需要再次运行passwd以进行密码设置、修改。

 

密码:eà@因为都能代表互联网      abcdà1234  

who:查看有谁登陆了    tty本地终端 pts远程终端

uptime:查看Linux连续运行多久了,是w的简化   IDLE:user登陆后空闲了多久(什么都不干才会累计空闲时间)     PCPU:user当前操作所占用的CPU时间  WHAT:当前该user正在执行什么操作:-bash:什么都没干,就在当前命令解释器下等待指令;JCPU:累计占用的总CPU时间。

up 7:00 运行了7小时      load average:过去5、10、15分钟的服务器负载情况(主要是内存及CPU)

绝大多数病毒比较难感染压缩文件

win和Linux都能不需软件就支持zip

/tmp下的所有文件都可以删除

gzip:无法操作目录,不能压缩目录,只能压缩目录

执行压缩操作后不会保留原文件

文件格式:.gz   后缀给用户看的,实际上Linux不以后缀来分辨文件类型

g – un –zip            可以使用gzip –d==gunzip 解压缩

压缩目录tar(打包):-z  

打包并压缩: tar–cvfz xxx.tar.gz xxx            要自定文件名务必加上-f

打包后可以用gzip进行压缩(.tarà.gz) 例:gzip japan.tar结果:japan.taràjapan.tar.gz

注意.tar不是必须的后缀,而是便于区分用的写上去的属于文件名。

亲测tar 有选项顺序的问题,选项顺序不同会导致不能执行(如-cvf  写成-fvc就不行)

解包是指解打包,解压缩才是解压(相当于gunzip)

得到zip格式,gzip是得到gz格式,与gzip的不同:zip可以指定压缩后的文件名并且可以选择压缩目录,而gzip不行。压缩比:zip比gzip差

注意:zip执行后保留原文件gzip不保留原文件

-k:keep      优点:压缩比高

echo “xxxx”>>xxx   若xxx不存在会自动新建

历史最古老的即时通讯,前提:用户已登录。

写信的时候如果敲错了,按退格是无效的,必须Del或者Ctrl+退格。

结束:Ctrl+D:终结符(EOF)

先用w看一下目标用户有木有登陆

是给在线用户发信不在线是发不出去的。

只要是在bin下,就是所有用户都能执行的命令。

发信者自己也能收到信息

注意发的信息会打断别人正在进行、正在写的命令行

判断是否连接;如果不按Ctrl+C会一直Ping下去不会自己停

可以自己ping自己     注意:停止程序是Ctrl+C,终结符是Ctrl+D.

设定的ip地址需要root且只是临时更改

eth0:本地真实网卡

lo:回环网卡(ping回环网卡是肯定通的,不装驱动都能ping通)

发邮件不管用户在不在线都行。Subject:标题

直接键入mail可以查看用户的邮箱 ,键入mail以后按下TAB以查看更多命令

在邮箱里:键入数字即为阅读对应的邮件,h返回邮件列表,q退出邮箱,d+数字删除邮件

有时候系统会向root发送邮件,在root登陆的时候会收到提醒;系统给root的邮件很重要。

判断我的机器什么时候重启了,可以查看会不会有问题

lastlog:列出所有用户,显示最后登录时间(列出的用户不是所有都可以用的)

探测到某一个主机、网站的路径

netstat:查询网络状态   stat:查询

TCP:要握手,像打电话:确认了对方身份再发数据,电话没听懂就再讲一遍(丢失的数据可以快速重发)。可靠性高但由于握手故较慢

UDP(QQ用的就是这个):不管对方是否在线都能发送,不需握手。快

路由既是网关    网关==路由   网关gateway

服务器:Apache、ftp、邮件服务器

80端口:Apache

LISTEN:监听;UDP不需握手,故UDP不需要监听,TCP就需要监听

established:已连接

注意只存在于RedHat系列因为setup是RedHat开发的

在DHCP一栏中输入“*”表示自动获取。务必保证有DHCP服务器才行,否则不可能自动获取。与ifconfig的区别:永久更改ip

 

将设备链接到挂载点  (u盘光盘不能自动挂载,每次开机需要手动挂载)

做法:先mkdir创建一个空目录做挂载点(注意建立在/mnt下)

iso文件系统:iso9660

设备文件名:系统指定的,如sr0必须记住     实际上是软连接cdrom->sr0

-t iso9600可以省略不写

Linux真实机中如果不卸载光驱而直接按光驱按键,光驱是不会弹出来的。

卸载的时候如果你的cd在设备里面,就得先退出,退出了才算解除占用才能成功卸载。

挂载:新建一个目录,将某个设备连接到这个目录,然后访问这个目录即相当于访问设备

注意:按Ctrl+D相当于logout注销

卸载umount:umount + /dev/sr0或者+ /mnt/cdrom    (因为相当于链接关系,卸载其中一个即可)

 

----------------------------------201681916:32:35------------------------------------

 

shutdown –h now 马上关机        now:表示现在

shutdown –h 20:30   -k Don't halt/power-off/reboot, just send warnings

-c:cancel取消

poweroff是直接断电,没shutdown那么好

halt:关机

可以打开inittab来看看

init 3进入命令行界面   init 5进入图形界面

vim:编辑shell脚本或文本     早期名称叫做vi

 

 

插入命令的时候要先按一下esc回到命令模式

删除指定范围的行    :n1,n2d à :10,20d   删除10~20行

 

 

ll:相当于 ls –l

亲测:qw无效,只有:wq有效

只用:!+命令则相当于临时执行一个命令

命令结果导入:

使用:r ! +     命令则相当于执行了命令并且把命令的结果写入到文本光标所在处

vim中的文本也是使用#来表示注释的

表示:Ctrl+P设为I # Esc :I跳到本行行首并进入编辑模式(0只是跳到行首但不进入编辑)#:因为此时已经进入编辑模式了,所以#表示写一个#号,尖角号加ESC<ESC>表示按下一个ESC键以自动退出编辑模式。

设置命令的时候需要按下Ctrl+c+目标快捷键,可以先按c也可以c和快捷键一起按。按法:Ctrl+c+目标或者Ctrl+cCtrl+目标.

表示:Ctrl+B:跳到行首,由于0未进入编辑模式,故此时的x作用是删除光标下的字符

务必注意:快捷键仅仅只在命令模式下生效,插入模式(编辑模式下无效)

注意:在命令模式下生效并且默认在命令模式下开始执行

:在光标处插入邮箱然后自动退出编辑模式

cursor光标

1~4行的行首替换为#号。^表示行首的意思。

命令理解:第一部分:第几到第几行,第一个/后面跟的东西表示被替换掉的内容,这里是/^表示行首被替换(就是在行首加一个东西),下一个斜杠表示替换成什么,这里是替换为#号,最后一个/g是命令组成部分(套路)

g的前一个斜杠和前第二个斜杠之间就是要替换的内容,如果两个斜杠连在一起写,即为空,替换为空。

:目的:在1~4行的行首加上两个斜杠(//)

不能写成:1,4s/^g这样的原因:虽然用户表示第二个斜杠后两个斜杠就是要替换的内容,再下一个斜杠是/g的部分,但是解释器没法理解这么多个卸载一起的/,故在分隔符/的后面加上一个转义字符\再写/以去前面的字符进行区分。

转义符的另一作用:实际命令都自动带有参数(即使你不写,如ls带有显示颜色就是自动写的参数),不想使用这些自动写的参数就加上转义字符\在命令前面即可不需空格。如:\ls
对:ab命令的理解:你输入一个a,系统把它变成b;作用:将字符串改为另一个字符串(输入结束的时候空格或回车)。

注意:重启机器后将导致所有定义的快捷键及文本替换都会失效。除非将它写入到宿主目录下(宿主目录下.vimrc)该配置文件可能为空可能不存在。写入到.vimrc下的命令不需要冒号

在配置文件下写:    set nu   则打开配置文件它默认就会显示行号

二进制包相比源代码包:二进制包是进过了编译的。

源码包一般都是C写的,但不是全部都是C写的。

二进制包:经过编译的0101这样子的机器语言包。

编译后的Linux的二进制包就是RPM(注意:在RedHat系列中默认二进制包是RPM,Debian系默认deb包)

RedHat系与Debian系的区别:一个用rpm一个默认deb,其他的东西基本相同

源代码包需要编译之后才能安装,费时间。

二进制包:加快安装、简化过程,坏处:看不到源代码

脚本安装包:少见,一般由源码包开发过来,特点:自动安装,有安装界面和下一步按钮,很少见,本质:源码包+安装界面。实际属于源码包

 

卸载是指:直接将安装目录删掉(不会造成遗留大量的文件)

时间久:源码包安装一个几G的Linux要装3天

一般源码包报错是需要修改它的代码的,所以很难

速度有多快?:速度与windows差不多(差不多大小的软件)

看不到源代码违反了Linux的开源原则

依赖性:安装A的时候有可能被要求必须安装B,卸载A的时候又要求务必先将B卸载之后才能卸载A

()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值