一般情况 下,指令的输入格式为:
[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的文件
网友评论