美文网首页
Linux常用命令

Linux常用命令

作者: 禾飔 | 来源:发表于2018-09-28 20:09 被阅读5次

一般情况 下,指令的输入格式为:

[root@test root]# command [-options] parameter1 parameter2 ... 

                                 指令           选项            参数(1)         参数(2)

说明:

  1. 指令与参数区分字母大小写;

  2. command为指令的名称,例如变换路径的指令为cd,等等;

  3. 中括号[]实际并不存在,在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--” 符号;

  4. parameter1,parameter2……为跟在option后面的参数,或是command的参数;

  5. command,-options,parameter这几项之间以空格分开,不论空几个格,shell都视为一 个空格;

  6. 指令太长的时候,可以使用“\”符号使指令连续到下一行。

改用户密码

sudo 

sudo -i 输入当前管理员用户的密码就可以进到root用户

sudo passwd root  设置root用户的密码

su  输入用户密码切换到root用户,exit回到用户权限

显示日期的指令:date

[root@test root]# date     

Fri Sep 28 17:16:24 DST 2018

[root@test root]# date +%Y/%m/%d  

2018/09/28

[root@test root]# date +%H:%M

17:17

显示日历的指令:cal

计算器:bc

一些键:

Ctrl + c:在Linux下,如果输入了错误的指令或参数,有时候系统会一直运行而不停止,可以键入Ctrl + c 终止当前程序。

q:有很多程序在运行的时候(例如man指令或more指    令),按下q即可推出。这个按键也是很多指令常定义的退出键。

在线求助:

man

不知道怎么使用date指令?只要输入man date,马上就会有清楚的说明出现在您面前,这里的man是manual (操作说明)的简写。

[root@test root]# man date

在man page中可以按的键有:

 · 空格键:  向下翻页;

 · page up:  向上翻页;

 · page down: 向下翻页;

 · home:      回到前面;

 · end:      转到终页;

 · /word:  搜寻word所代表的文件。

info

除了man之外,Linux中还提供另外一种查询方式,即info,使用方法和man差不多:

[root@test root]# info command

info后面接您要查询的指令名称。

了解主机当前状态的指令

who          查看目前有谁在线

netstat -a 查要看网络的联机状态

ps -aux     查要看背景执行的程序

改变文件属性:

改变群组 chgrp

语法:

chgrp 群组名称 文件或目录

改变拥有者chown 

语法:

[root @test /root ]# chown [-R] user:group [目录名称] 

参数说明:  -R    :循环地将该目录下的所有文件都改成 user 与 group 的名称

chown [ -R ] 账号名称 文件或目录

chown [ -R ] 账号名称:群组名称 文件或目录

改变权限chmod

(1)数字类型改变文件权限

r: 4  w: 2  x: 1  

[ -rwxrwx--- ]  770

owner  = rwx = 4+2+1 = 7 

group  = rwx = 4+2+1 = 7 

others = --- = 0+0+0 = 0

chmod 777 filename  文件属性改为 -rwxrwxrwx

-rwxrwxrwx  777

-rwxr-xr--     754

-rw-rw-rw-   666

-rwxr-xr-x     755

-rwxr-----      740

(2)符号类型改变文件形态

9个属性分别是user,group 和others三组,那么我们可以用u,g和o来代表3个组的属性。此外,a则代表all亦即全部的三组。那么读写属性就可以写成r,w,x。所以,可以使用下面的方式:

chmod u=rwx,og=rx filename  属性改为  -rwxr-xr-x

chmod u=rwx,g=rx,o=r filename  属性设定为 -rwxr-xr--

chmod a-x filename 要取消所有人的x属性

chmod a+w filename 增加所有人的写入属性

umask    改变预设的建立文件或目录时的属性  

· 若用户建立的是“文件”,则默认没有可执行(x)项,即只有rw这两个项,也就 是大为666(-rw-rw-rw); 

· 若用户建立的是“目录”,则由于x与是否可以进入此目录有关,因此默认为所有 权限均开放,亦即777(drwxrwxrwx)。  

umask 查看当前的预设属性

umask  002  文件属性改为 666-002=664 即 -rw-rw-r--

                    目录属性改为 777-002=775 即 drwxrwxr-x

默认情况下,root的umask为022,而一般用户则为002

chattr  改变文件的特殊属性 

语法: [root @test /root ]# chattr [+-=][ASacdistu] [文件或目录名称]  

参数说明:  

+-= :分别为“+”(增加)、“-”(减少)、“=”(设定)属性  

A   :当设定了属性A,这个文件(或目录)的存取时间atime (access)将不可被修改,可避免     诸如手提电脑容易产生磁盘I/O错误的情况 

S  :这个功能有点类似sync,是将数据同步写入磁盘中,可以有效避免数据流失 

a  :设定a后,这个文件将只能增加数据而不能删除,只有root才能设定这个属性。  

c  :设定这个属性之后,将会自动将此文件压缩,在读取时自动解压缩。但是在存储的时候,会     先进行压缩再存储(对于大文件很有用)  

d  :当dump(备份)程序被执行,设定d属性将可使该文件(或目录)具有dump功效  

i  :这个参数可以让一个文件“不能被删除、更名、设定链接也无法写入或新增数据”,对于系     统安全性有相当大的助益  

j  :当使用ext3文件系统格式时,设定j属性将使文件在写入时先记录在日志中,但是当     filesystem设定参数为data=journalled时,由于已经设定了日志,所以这个属性无效  

s  :当文件设定了s参数时,它会被完全移出这个硬盘空间  

u  :与 s相反,当使用u配置文件时,数据内容其实还存在于磁盘中,可以用来取消删除 

范例: 

[root @test /root]# chattr +i /etc/shadow   

如此则无法更动这个文件  

[root @test /root]# chattr -i /etc/shadow  

解除该属性

lsattr   显示文件的特殊属性

语法: [root @test /root ]# lsattr [-aR]  

参数说明:  

-a :将隐藏文件的属性也显示出来  

-R :连同子目录的数据一并显示出来  

范例:  

[root @test test]# chattr +i test1 

[root @test test]# lsattr

文件与目录的管理:

ls      显示文件名称、属性等  

语法: [root @test /root ]# ls [-ailS]  

参数说明: 

-a      :列出所有文件(连同隐藏文档)  

-i       :打印inode的值  

-l       :详细列出,连同文件大小、属性数据等  

-S      :以文件大小排序 

--color=never     :不显示颜色  

--color=always   :均显示颜色  

--color=auto      :由系统自行判断

cp    复制文件或目录  

语法: [root @test /root ]# cp [-drsu] [源文件] [目标文件]  

参数说明: 

-d :进行复制时,如果是复制到链接文件,若不加任何参数,则默认情况下会将链接到的源文件 复制到目的地,若加-d,则链接文件可原封不动地将链接这个快捷方式复制到目的地。  

-r :可以进行目录的复制。

-s  :做成链接文件,与ln指令功能相同。  

-u, --update:如果源文件较新,或者没有目标文件,才会进行复制动作。可用于备份操作。

范例:

[root @test /root]# cp  .bashrc bashrc    将.bashrc复制成bashrc文件!  

[root @test /root]# cp -r /bin /tmp/bin     这个功能用来复制整个目录的参数!  

[root @test /root]# cp -s .bashrc bashrc.cp          建立一个链接文件,文件名为bashrc.cp

[root @test /root]# cp -u /root/.bashrc /home/test/.bashrc   先检查/home/.bashrc与.bashrc是否相同,如果不同就复制一份;如果相同则不做任何动作!

rm   删除文件或目录  

语法: [root @test /root ]# rm [-fir] [文件名]  

参数说明:  

-i     :提供用户确认(这是默认值)。  

-r     :循环删除,直到没有东西为止。  

-f     :force,就是强制删除。

mv   移动文件或目录

语法: [root @test /root ]# mv [-u] [源文件] [目标文件]  

参数说明:  

-u   :同样,为update的简写,当源文件比目标文件还新时才会动作

目录与路径的几个常用指令:

cd    变换目录  

pwd   显示当前目录  

mkdir  建立一个新目录  

rmdir  删除一个内容为空的空目录

查看文件内容

cat   由第一行开始显示文件内容  

tac   从后一行开始显示,可以看出,tac是cat的倒写  

more 一页一页地显示文件内容  

less     与more类似,但其优点是,可以往前翻页  

head  只看头几行  

tail     只看末尾几行  

nl     显示时同时输出行号  

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

搜索文件

which  查看可执行文件的位置  

语法: [root @test /root ]# which  [文件名称]  

范例:  

[root @test /root]# which passwd  

/usr/bin/passwd

whereis   查看文件的位置  

语法: [root @test /root ]# whereis [-bmsu] [目录名称] 

参数说明: 

 -b    :只找二进制文件 

 -m    :只找在说明文件manual路径下的文件

  -s    :只找source源文件 

 -u    :没有说明文档的文件!  

范例:  

[root @test /root]# whereis passwd 

passwd:/usr/bin/passwd/etc/passwd /usr/share/man/man1/passwd.1.bz2

locate     配合数据库查看文件位置  

语法: [root @test /root ]# locate [目录名称]  

参数说明:  

范例: 

[root @test /root]# locate root 

……一大堆带有root字符串的文件都会显示出来

[root @test /root]# updatedb

使用locate查找数据特别快,这是因为locate是从已建立的数据库 /var/lib/slocate中查找数据,不用直接在硬盘中存取数据,所以自然很快。那么有什么限制 呢?正因为它是通过数据库来搜寻,而数据库的更新默认是每周执行一次,所以,在数据 库更新之前新建的文件就会找不到,必须要在更新数据库之后。

find      实际搜寻硬盘查询文件名称

语法: [root @test /root ]# find [路径] [参数]  

参数说明:

  1. 时间:

     -atime n    :将n*24小时内被存取过的文件列出来

     -ctime n    :将n*24小时内被改变、新增的文件或目录列出来

     -mtime n    :将n*24小时内被修改过的文件列出来

     -newer file :把比file还要新的文件列出来

  2. 使用名称:

     -gid n      :寻找群组ID为n的文件

     -group name :寻找群组名称为name的文件

     -uid n      :寻找拥有者ID为n的文件

     -user name  :寻找用户名称为name的文件

     -name file  :寻找文件名为file的文件名称(可以使用通配符)

     -type type  :寻找文件属性为type的文件,type包含了b, c, d, p, l, s,

                  这些与前一章的属性相同。例如l为Link而d为目录  

范例:

[root @test /root]# find / -name testing       <==寻找文件名为testing 

[root @test /root]# find / -name 'test*'     <==寻找文件名包含test的  

[root @test /root]# find . -ctime 1  寻找当前目录下一天内新增的目录或文件  

[root @test /root]# find /home/test –newer .bashrc   寻找/home/test目录下比.bashrc还要新的文件  

[root @test /root]# find /home -user test 寻找/home下拥有者为test的文件  

[root @test /root]# find /dev -type b   寻找/dev目录下文件属性为b的文件

相关文章

网友评论

      本文标题:Linux常用命令

      本文链接:https://www.haomeiwen.com/subject/evqmoftx.html