linux基本操作
一、Linux目录结构
FHS标准(Filesystem Hierarchy Standard):
/boot :启动目录,内核存放地
/etc:配置文件存放地
/tmp:程序产生的临时文件
/home:用户的目录,新增用户账号时,用户的家目录都存放在此目录
/lib:库文件,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/bin:可执行文件和常用的Linux命令
/sbin:系统管理员的命令和工具
/usr:应用程序和文件的安装地
/mnt:挂接其他文件系统
/root:root帐户的home目录
/dev : 存放linux系统下的设备文件
二、vi使用:命令模式、插入模式、编辑模式。
vi
功能:生成新文件或者编辑、查看文件。
格式:vi file_name。
说明:上面的命令直接进入vi的命令模式。
从命令模式进入编辑模式
需要按i键或者a键:
1) i插入文本;
2) a追加文本。
使用ESC键可以从编辑模式进入命令模式。
三、命令模式
可执行的操作:
1):w 保存文件;
2):wq 保存并退出;
3):wq! 保存并强制退出;
4):q 退出;
5):q! 强制退出;
6)dd 删除一行文字;
7)x 删除一个字符;
8):n 光标移至文本第n行;
9)$ 光标移至文本的行尾;
10)G 光标移至文本的末尾;
11)/ 查找某个字符串。 /sdb
四、Linux管理文件和目录的命令
pwd 功能描述:打印用户当前所处的路径。 (print work directory) 在文本模式下,使用命令: [root@localhost ~]#pwd
cd
功能描述:改变用户所在目录。(change directory)
格式:cd <目录名>
[root@localhost ~]#cd .. 返回到当前目录的上一级目录
[root@localhost ~]#cd 返回当前用户的主目录
[root@localhost ~]#cd /home 用路径切换到home目录
五、ls命令
功能描述:显示指定目录下的内容。(list directory)
格式:ls [参数] [目录或文件]
选项 含义
-a 列举目录中的全部文件,包括隐藏文件
-l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、
文件是否是链接等
-r 逆向,从后向前地列举目录中内容
-R 递归,该选项递归地列举当前目录下所有子目录内的内容
-s 大小size:数据块
ls -l 1.txt 列举文件1.txt的所有信息
[root@localhost ~]#ls /home 显示指定目/home下的内容。
[root@localhost ~]#ls -l 显示当前目录的详细内容。
[root@localhost ~]#ls -a 显示当前目录下的说有文件,包括隐藏文件。
cat命令:显示文本内容
语法: cat 文本文件名字
例如:在屏幕上显示整个文件的内容: cat 1.txt
touch命令:创建文本(不能插入内容)
语法:touch 文本文件名字
例如:touch 12.txt
grep命令
功能:是在一堆文件中查找一个特定的字符串。
grep money test.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
cp
功能描述:拷贝文件或复制文件。(copy) 格式:cp [源文件] [目标文件] [root@localhost ~]#ls
[root@localhost ~]#cp hello.txt file1.txt 把文件hello拷贝一份,命名为file1
[root@localhost ~]#ls
[root@localhost ~]#cp hello.txt /home/myfile.txt
把当前目录下文件hello拷贝到路径/home并命名为myfile
[root@localhost ~]#ls /home
选项 含义
-i 互动:如果文件将覆盖目标中的文件,他会提示确认
-r 递归:这个选项会复制整个目录、子目录以及其他
-v 详细:显示文件的复制进度
mv命令:可以对文件或者目录进行移动.
格式:mv [源对象] [目的对象]
选项 说明
-i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认
-f 强制:不提示地移动文件
-v 详细:显示文件的移动进度
[root@localhost ~]#pwd
[root@localhost ~]#mv /dir1/myfile.txt /dir1/newfile.txt
将文件myfile.txt移动到新的目录下并改名为newfile.txt
[root@localhost ~]#ls /dir1
[root@localhost ~]#mv /home/a_dir /home/test/dir2
将目录a_dir移动到新的目录下并改名为dir2
[root@localhost ~]#ls /home
通过ls命令查看a_dir目录是否被移走
[root@localhost ~]#ls /home/test
通过ls查看dir2目录是否生成
mkdir:创建目录。(make directory)
格式:mkdir [目录名1] [目录名2] ……
[root@localhost ~]#mkdir dir2 创建一个目录dir2
[root@localhost ~]#ls 借助ls命令查看dir2是否创建成功
[root@localhost ~]#mkdir bb cc dd
一次性创建多个目录
mkdir -p aa/bb 目录里面只能嵌套一个目录
rmdir:删除空目录。(remove directory)
格式:rmdir [参数] [目录名1] [目录名2] ……
[root@localhost ~]#rmdir dir2 删除一个空目录
[root@localhost ~]#rmdir bb cc dd 删除多个空目录
rm命令:删除文件。remove
格式:rm [参数] [文件]
选项 说明
-i 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除进度
-r 递归:将删除某个目录以及其中所有的文件和子目录
[root@localhost ~]#cp dir1/myfile.txt dir1/11.txt
把dir1目录下myfile.txt文件拷贝,生成文件名为11.txt文件。
[root@localhost ~]#ls dir1
查看dir1目录下的文件内容
[root@localhost ~]#rm myfile.txt
删除当前目录下myfile文件
[root@localhost ~]#rm -r /dir1
删除当前目录下dir1目录,有提示
[root@localhost ~]#rm -rf /dir1
删除当前目录下dir1目录,不提示
[root@localhost ~]#rm -r 11.txt 22.txt 33.txt
删除当前目录下多个文件
六、线上查询的命令
man命令
功能:用来查询和解释一个命令的使用方法和这个命令的注意事项.
格式:man 命令的名称
要查询ls命令的说明书页,输入命令:
man ls
退出按下q
locate命令
功能:定位文件和目录.
格式:locate 文件或者目录名字
想要搜索带有test的这个词的文件,输入命令:
locate test
locate命令使用数据库来定位带有test这个词的文件或目录。
whatis命令
功能:用来查询某个命令的含义。
要查询mv命令的含义,输入命令:
whatis mv
七、文件备份和压缩命令
bzip2命令
功能:bzip2来压缩文件
格式:bzip2 filename
文件即会被压缩,并被保存为filename.bz2。
要解压缩文件,输入命令:
bunzip2 filename.bz2
filename.bz2会被删除,而以filename代替。
bzip2 file1 file2 file3 /home/aa
上面的命令把file1、file2、file3以及/home/aa目录中
的内容压缩起来。
gzip命令
要使用gzip来压缩文件,输入命令:
gzip filename
文件即会被压缩,并被保存为filename.gz。
要解压缩文件,输入命令:
gunzip filename.gz
filename.gz会被删除,而以filename代替。
-r:
递归处理,将指定目录下的所有文件及子目录一并处理;
gzip -r file1
上面的命令把file1目录中的内容压缩起来。
tar命令
功能描述:将文件或者目录进行打包、或者解压缩。 格式:tar [参数] [打包后的文件名] [需要打包的文件或目录] 。
其中参数包含以下几个:
-c 创建压缩文件;
-x 展开归档文件;
-t 显示包括在tar文件中的文件列表
-z 压缩/解压缩文件(gz格式);
-v 写入或读取时,显示所有的文件;
-f 指名要展开的归档文件名;
-j 压缩或解压缩文件(bz2格式)。
[root@localhost ~]#tar cvf test.tar /home/test 将home下目录test
打包成tar包
[root@localhost ~]#tar xvf test.tar 将test.tar解压缩
要创建一个tar文件,输入命令:
tar –cvf filename.tar aa bb
上面的命令将aa、bb放入文件中。
要列出tar文件的内容,输入命令:
tar –tvf filename.tar
要抽取tar文件的命令,输入命令:
tar –xvf filename.tar
这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作
目录下,并保留归档文件所使用的任何目录结构。
要创建一个使用tar和bzip2来归档压缩的文件,使用-j选项:
tar –cjvf filename.tbz file
要扩展并解除归档bzip tar文件,输入命令:
tar –xjvf filename.tbz
要创建一个用tar和gzip归档并压缩的文件,使用-z选项:
tar –czvf filename.tgz file
要扩展并解除归档gzip tar文件,输入命令:
tar –xzvf filename.tgz
文件阅读的命令
head命令
head命令可以用来查看文件的开头部分。此命令的格式是:
head 文件名
默认设置,它只查看文件的前10行。但可以通过指定一个数字
选项来改变要显示的行数,命令如下:
head –20 文件名
这个命令将会查看文件的前20行。
tail命令
功能:查看文件结尾的10行。
tail 文件名
这有助于查看日志文件的最后10行来阅读重要的系统信息。
more命令
功能:按页来查看文件的内容
more使用空格键和b键来前后移动。
more [选项] [fileNames]
more 1.txt
选项 含义
-num 一次显示的行数
-f 计算行数时,以实际上的行数,而非自动换行过后的行数
(有些单行字数太长的会被扩展为两行或两行以上)
+num 从第num行开始显示
要使用more在文本文件中搜索关键字,按/键并输入命令搜索条目:
从文件中查找第一个出现"lq"字符串的行,并从该处前两行开始显示输出
more +/lq 1.txt
使用空格键来先前翻阅页码。按q键退出。
当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来
ls –al /etc | more -5 “|”表示管道,作用是可以将前面命令的输出当做后面命令的输入
八、定位、查找文件的命令
which
语法
which 命令
说明
依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。
范例,找出ls命令的程序文件的位置:
which ls
系统输出:
/usr/bin/ls
chmod命令
chmod命令用来改变许可权限。
读取、写入和执行是许可权限中的三个主要设置。
r—文件可以被读取
w—文件可以被写入
x—文件可以被执行,如果文件是程序的话
可以使用带有-l的ls命令来仔细查看一个文件的许多细节。
chmod命令用来设定文件的权限。标准用法:
chmod 文件的使用者(u,g,o)增减(+,-,=)权限名称(r,w,x) 文件
u 拥有文件的用户
g 所有者所在的组群
o 其他人
a 代表所有
删除某一文件的所有权限,输入命令:
chmod a-rwx test.txt
为文件所有者添加权限,输入命令:
chmod u+rwx test
还可以用数字表示权限:
4——读取,2——写入,1——执行。
下面的两个命令等价:
chmod 751 filename
chmod u=rwx,g=rx,o=x filename
useradd与userdel 功能描述:添加用户、删除用户。
格式:useradd [用户名] userdel [参数] [用户名]
[root@localhost ~]#userdel wang 删除用户wang,但不能删除目录/home/wang
[root@localhost ~]#userdel -r zhang 删除用户zhang,并且删除目录/home/zhang
chgrp命令
作用:用于变更文件或目录的所属群组。
chown命令
作用:将文件的拥有者改为指定的用户或组.
这个指令只有是由系统管理者(root)所使用,一般使用者没有权限
可以改变别人的文件拥有者,也没有权限可以把自己的文件拥有者
改设为别人。只有系统管理者(root)才有这样的权限。
su命令
功能:用来修改用户。
语法:su 用户名
假设当前用户root,想要转变为user02,则输入命令:
su -l user02
su 用户 代表切换用户,但是环境变量保持现在的用户的环境变量
su -l 用户 表示切换用户 并载入那个用户的环境变量
passwd :修改用户密码
passwd 用户名
退出:exit 文本模式下使用快捷键Ctrl+D
重新启动
在文本模式下使用命令:
[root@localhost ~]#reboot
也可以使用命令:
[root@localhost ~]#shutdown -r <time>
例如:
shutdown -r now 现在立刻重启
shutdown -r 11:30 等到11:30进行重启
关机
在文本模式下,使用命令:
[root@localhost ~]#halt
也可以使用命令:
[root@localhost ~]#shutdown -h <time>
例如:shutdown -h now 现在立刻关闭系统
shutdown -h 11:30 等到11:30关闭系统
shutdown –t 2 在2min内关机
ps命令
ps:查看在计算机系统中,有哪些程序正在执行及其执行的情况。
用它来找出所有的process id和名称。
也可以用来列出所有程序占用内存的情况
选项 功能
u 列出使用者的名称和使用时间
x 列出所有程序
例如:ps u 查看有关使用者的信息
ps x 列出所有程序分布情况(查询出所有的进程号pid)
top命令
功能:可以查看目前程序的执行情景和内存使用。
它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。
要离开这个程序,按Ctrl+C键就可以了或者q。
kill命令
功能:用来终止一个正在执行中的进程。如果一个程序执行过程
中失败了,可以把这个程序终止,避免留在内存中占用系统资源。
语法:kill 进程号
date:用来设定和修改现在的时间和日期
例如: date –u 使用格林尼治时间
date -r 1.txt 最后一次修改文件的时间
date -s 18:00 设置时间
cal 日历
若要显示一整年的年历,可以在cal命令后加4位数的年份。
例如要显示2017年的年历,必须输入:
cal 2017
某一月份: cal 10 2017
df命令
功能:检查硬盘的使用量
说明:
-a 可以列出全部文件系统和各分区的磁盘使用情况
du命令
功能:显示文件目录的大小
语法:du 参数 文件名字
说明:
-ab 列出所有文件和目录所占的空间
1.ifconfig:显示网络设备的状态
2.ping:用于检测主机。
执行ping指令会使用ICMP传输协议,发出要求回应的信息,
若远端主机的网络功能没有问题,就会回应该信息,因而得知主机
运作正常。
3.netstat:知道整个Linux系统的网络情况或显示网络状态。
显示详细的网络状况
# netstat -a
显示UDP端口号的使用情况
# netstat -apu
clear
功能描述:清屏(清除当前命令窗口内容)。(clear) 格式:clear [root@localhost ~]#clear 清屏。
echo
功能描述: 在显示屏上回显文字或者用来查看环境变量的值。
格式:echo [需要显示的内容]
[root@localhost ~]#echo “hello, boy” 显示hello, boy
[root@localhost ~]#echo $PATH 查看PATH的取值,是否有/sbin目录
uptime
功能:系统运行时间
wc
功能:用于计算字数。
语法:wc 参数 文件名
在默认的情况下,wc将计算指定文件的行数、字数,以及字节数
参数:
-c 只显示Bytes数。
-l 只显示行数。
-w 只显示字数。
目录