什么是Linux命令?
用来实现某一类功能的指令或程序
并且命令的执行依赖于解释器(例如/bin/bash)
命令分类有两大类:
内部命令,属于解释器的一部分
外部命令,解释器以外的程序
命令的格式:
命令 -选项… 参数1 参数2… 例如:
ls命令
[root@localhost ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2698 Jun 23 07:08 /etc/passwd
[root@localhost ~]#
也可以不加选项:命令 参数 例如:
[root@localhost ~]# ls /root/
anaconda-ks.cfg Documents Music Pictures Templates
Desktop Downloads original-ks.cfg Public Videos
```python
[root@localhost ~]# ls -l /etc/passwd #-l显示详细属性
-rw-r--r--. 1 root root 2698 Jun 23 07:08 /etc/passwd
[root@localhost ~]# ls -a /root/ #-a列出目录下全部文件包括隐藏文件
. .bash_profile Desktop .local Public
.. .bashrc Documents Music .tcshrc
anaconda-ks.cfg .cache Downloads original-ks.cfg Templates
.bash_history .config .esd_auth Pictures Videos
.bash_logout .cshrc .ICEauthority .pki
[root@localhost ~]# ls -lh /etc/passwd #-h一般和l连用,显示文件大小及属性
-rw-r--r--. 1 root root 2.7K Jun 23 07:08 /etc/passwd
这里就不一一列举,选项还有很多,我们正常使用的最多的就是-l 及-lh -a之类的,
cat 命令:
[root@localhost ~]# cat /etc/passwd #不加选项就是直接查看内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost ~]# cat -n /etc/passwd #加-n选项显示行号
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
pwd命令:
[root@localhost ~]# pwd #显示当前工作目录,
/root #显示当前工作在root目录下
which:查看命令对应的程序
[root@localhost ~]# which hostname
/usr/bin/hostname
常用快捷键
[root@localhost ~]Ctrl + c #结束正在运行的命令
Esc+.或Alt+.:粘贴上一个命令的参数
[root@localhost ~]#–Ctrl + l #清空整个屏幕
[root@localhost ~]#–Ctrl + u #从光标处清空至行首
[root@localhost ~]#Ctrl + w #往回删除一个单词(以空格界定)
[root@localhost ~]#mkdir /root/xx #创建目录到root下面
[root@localhost ~]#touch /root/xx.txt #创建空白文档
[root@localhost ~]#cd /etc/ #切换工作目录到etc下
[root@localhost ~]#cp /源文件 /目标位置 #拷贝文件
[root@localhost ~]mv /源文件 /目标位置 #移动文件,同时可以重命名
[root@localhost ~]rm -rf /目标文件 #删除文件以及目录-r递归删除-f强制删除
[root@localhost ~]wc -l /etc/passwd #统计文件行数
在linux中,“ * ”符号为通配符的意思,使用方法:
root@localhost ~]#ls /etc/*.txt #查看etc下所有 .txt结尾的文件,用法广泛,也可以配合其他命令用,
[root@server0 ~]# ls /etc/re*.conf
文本内容操作
vim编辑工具
在根目录下创建一个子目录 tedu
[root@server0 ~]# mkdir /te
[root@server0 ~]# vim /tedu/stu.txt #vim工具使用时,如果目标文档不存在,则会新建空白文档编辑,如果目标路径存在同名文档,则会打开同名文档进入编辑
vim工具常用快捷键:
–命令模式(可使用快捷键)
–末行模式(esc键退出插入模式:进入末行模式)
–插入模式(可输入文本内容i o)
常用三种模式
命令模式:
-i 光标之前插入
-a 光标后插入
-x 删除当前光标下的字符
-X删除当前光标左边的字符
-o下起一行并进入插入模式
-O上起一行并进入插入模式
-s修改一个字符
-dd删除当前光标行
-5dd删除光标及以下共5行,以此类推
-D删除光标至行尾的内容
-yy复制当前光标行,
-5yy复制光标及以下五行,
-p粘贴到光标之后
-P粘贴到光标之前
-d剪切
-u撤销改动
-gg光标跳到首行首字符
-G光标跳到尾行首字符
-v从光标位置开始选中,再次按v结束
-:w保存
-:q退出
-:wq保存并退出
-!强制
-:set nu显示行号
批量添加注释符::起始行号,结束行号s/^/#/g
批量取消注释符::起始行号,结束行号s/^#//g
grep命令
强大的文本过滤工具,可以使用正则表达式
衍生工具:egrep和fgrep
grep help可查看帮助
常用选项:
-c 只输出匹配行的计数
-v 取反,显示除....以外所有
- i 不区分大小写
- n 显示匹配行及行号
- r 要求所有子目录
find查找工具
格式:find [目录] [条件1]
常用选项:
-type 类型(f文件、d目录、l快捷方式)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 修改时间
-exec 额外操作的开始
\; 表示额外操作的结束
{} 前面find命令每一个查询的结果
[root@server0 ~]# find / -user student -type f #查找用户student名下的文件
[root@server0 ~]# find / -user student -type f -exec cp {} /root/findfiles \; #利用find查找所有用student 拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中
[root@server0 ~]# find /boot -size +10M -exec cp {} /opt \; #利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt
[root@server0 ~]# find /boot -name “vm*” -exec cp {} /opt \; #利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt
[root@server0 ~]# find /boot -type l #利用find查找/boot/ 目录下为快捷方式
[root@server0 ~]# find /etc -name “*tab” -type f #利用find查找/etc 目录下,以 tab 作为结尾的 必须是文件
mount挂载
mount [-参数] [设备名称] [挂载点]
Linux系统中,万物皆文件,想使用本地源或者网络源,或者硬盘,优盘,都需要挂载才能使用,将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点。同时挂载点必须是一个目录,一个目录只能承担一个挂载点,但是一个文件系统可以有多个挂载点。
挂载之前,我们需要了解所要挂载的文件系统格式,
光盘是ISO9660 CD-ROM光盘标准文件系统
软盘是fat16或者ext2
网络文件系统是nfs
例:mount /dev/cdrom /mnt/
这样,我们就能在mnt目录下看到该光盘内容了,如果不需要了,使用umount命令
卸载:umount /mnt/ ,直接从挂载点卸载
注意,命令行下的mount命令,执行的是临时挂载,也就是说下一次开机后会失效,需要重新挂载,如果需要永久挂载,需要在/etc/fstab添加自动挂载。
vim /etc/fstab
最下行添加
/etc/cdrom /mnt iso9660 defaults 0 0
文件系统 挂载点 类型
(注意别打错字,否则下次开机无法进入图形界面,进入的是最小化界面。)
df -h命令查看所有的挂载设备
那么,有些情况我们不知道文件系统类型,可以用df -T查看
[root@teacher 桌面]# df -T /dev/sda
文件系统 类型 1K-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 8038024 0 8038024 0% /dev #可以看到这个磁盘的分区文件系统格式是devtmpfs
linux系统安装软件的三种方式(以CentOS系统为例)
yum安装 (优点方便,快捷,自动解决依赖包)
(缺点不能干预,不能按需安装,)
1,首先挂载光盘,
2,搭建本地yum仓库:编写仓库配置文件
仓库配置文件路径[root@localhost ~]# vim /etc/yum.repos.d/*.repo /etc/yum.repos.d/dvd.repo,打开编辑,内容如下:
------------------------------------------------------------------------------------------
[centos] #仓库标识,可以任意
name=hehe lele CentOS7 #仓库的描述信息,可以任意
baseurl=file:///dvd #指定服务端位置,file://代表本地为服 务端
enabled=1 #是否启用本文件
gpgcheck=0 #是否检测红帽签名信息
-------------------------------------------------------------------------------------------
[root@localhost ~]# yum repolist #列出仓库信息,可以看到仓库软件总数说明搭建成功
[root@teacher ~]#yum install 软件名:安装一个软件包
可加选项:
-y 当安装过程提示选择全部为"yes"
-q 不显示安装的过程
[root@teacher ~]#yum remove 软件名:卸载一个软件包
[root@teacher ~]# yum clean all #清除旧的yum缓存,
[root@teacher ~]#yum update #更新
[root@teacher ~]#yum list all #查看所有软件
[root@teacher ~]#yum list installed #列出已安装软件
[root@teacher ~]#yum list available #列出可安装软件
[root@teacher ~]#yum groups list #列出已安装的软件组
源码安装
优点:自定义参数,按需安装,自主性强,灵活性强
缺点:无法解决依赖包问题,
[root@teacher ~]# tar -xf xxx.tar.gz解压源码包
[root@teacher ~]#cd xxx/
[root@teacher ~]#./configure
[root@teacher ~]#make && make install #编译
[root@teacher ~]#make uninstall #卸载
rpm安装
(无法解决依赖,多数情况用于查询软件)
[root@localhost ~]# which vi vim #查询vi vim两个命令是由哪个包产生
[root@localhost ~]# rpm -qf /usr/bin/vi #查询软件版本信息
[root@localhost ~]# rm -rf /usr/bin/vi /usr/bin/vim #删除程序vim
选项:
-ivh 安装软件 -v显示过程 -h指定加密方式为hash
-e 卸载软件
-ql 查看软件生成的文件
-qlp 查询软件安装后会生成什么文件
-ivh 强制安装,忽略依赖性,