赞
踩
VM软件,是一个安装在母机上的虚拟机软件,这个软件很神奇,能创建虚拟机空间(用的是母机的硬盘空间),然后在此空间上安装合适的操作系统,则这个软件便能模拟一个指定操作系统的主机。Linux常见的发行版Ubuntu,CentOS
实际开发中linux全用命令行开发,利用终端。图形界面不用
一个软件,辅助开发的,通过设置可以让虚拟机与主机共享某一个文件夹,虚拟机设置里边有一个选项,选择共享文件夹,指定路径即可 (一般通过远程方式完成主机和虚拟机的通信,这种共享文件的方式暂时了解即可)
Linux目录是树状目录结构,根目录唯一,用“/”表示,不区分盘符。
在Linux世界里,一切皆为文件,包括硬件
bin dev home root等是根目录的目录,这种目录都是有讲究的,不同的目录存放不同的文件,不用乱放文件,至于各个文件目录下存放什么内容,需要牢记,这是重点,
在实际开发中,Linux主机是一种高性能的服务器,一般是在机房甚至租的服务器,作为开发人员,根本不能实际操纵,只能通过远程连接,远程连接默认就是终端,在终端中输入命令行达到控制主机,进行开发的目的。
有一个软件能支持远程登陆到服务器,Xshell5,windows系统现在有一个SSH命令,也能远程连接。
Xftp5 远程上传下载文件,了解即可
户的管理必须在root用户下进行
useradd [选项] 用户名
useradd xm 或者 useradd -d /home/dog xq 利用 passwd xm 来指定用户密码
若不指定用户所在组,创建用户会自动在home目录下生成与用户名一样的组,用户就在这个默认的用户组中。可以用 -d 选项指定创建用户的家目录
userdel [选项] 用户名
userdel xm 或者 userdel -r xq
前者只删除这个用户,而不会删除该用户的家目录,删除后的用户不能再登录使用主机;是把用户及其家目录全删除了。
id 用户名
返回值:
uid=用户id
gid=用户所在组的id
组=组名称(一般为数字id)
su - 切换到的用户名
权限高的用户切换到权限低的时候,不需要输入指定用户的密码,反之需要密码
当操作结束,需要返回原来的用户时,可以直接利用exit
whoami 能查询当前是哪个用户
创建:groupadd 组名
删除:groupdel 组名
创建用户组,是为了把某些具有一致性的用户组织起来,创建用户时,利用 -g 选项可以将用户放置到指定组
groupadd wudang
useradd -g wudang zwj
同样也可以对用户的组进行修改:
groupadd shaolin
usermod -g shaolin zwj
linux有七个运行级别 :
运行级别3,由于不是图形界面运行级别,故没有界面,通过终端命令行进行操作
/etc/inttab 为运行级别配置文件
常用运行级别是3和5,也可以修改文件的运行级别,这运行级别是整个机器的运行级别,所有的操作都基于运行级别
切换运行级别:init [0 1 2 3 5 6 ]
linux官方对其所支持指令的用法介绍
①man [命令或配置文件] man就是manual,翻译为使用手册
② help [命令]
①pwd 显示当前工作目录绝对路径
②ls 【选项】 【目录或者文件】 显示当前工作目录文件和目录列表
常用选项: -a -l
③cd 【目录或者文件】 切换工作目录
绝对路径:必须以根目录*/*开头,从根目录开始定位
相对路径:从当前工作目录开始定位
常用 cd ~ 返回家目录 cd … 返回上一级目录 ./ 表示当前工作目录
④mkdir [选项]【目录名】 用于创建空目录(linux的目录在一定程度上与windows的文件夹类似)
-p 创建多级目录
⑤rmdir [选项]【目录名】 删除空目录
rm -rf 删除非空目录,即要删除的目录里边包含子目录或者文件,则必须使用-rf
⑥touch [文件名.文件后缀] 创建空文件
可一次性创建多个文件 用空格隔开
⑦cp [选项] source dest 拷贝文件或目录到指定目录
-r 递归复制整个目录 拷贝的不是单文件,而是目录时,必须使用此选项
\cp 会自动强覆盖
⑧rm [选项] 文件或目录 删除文件或目录
用选项: -rf 递归删除整个目录 -f 强制删除不提示
⑧mv移动文件/目录或重命名
重命名: mv 文件名1 文件名2 则完成对文件1的重命名
移动: mv 文件 指定目录
注意:
重命名其实也是从通过移动完成的,只要两个文件在同一个文件夹
mv是移动,即移动成功后,原目录不再存在被移动的文件,而cp是复制,mv类似剪切操作
⑨cat [选项] 文件 查看文件内容 只能浏览,不能修改,默认全部显示 ;一般会带上 | more 用来分页显示
cat -n /etc/profile | more
-n 显示行号
⑩more 文件 查看文件内容 只能浏览,不能修改,分页显示
more etc/profile
根据需要加载文件 而不是把整个文件读入,对于大型文件具有很高效率
重定向:会将原来文件内容覆盖
追加:不会覆盖原文件,而是追加内容
举例:
ls -l > a.txt
ls -l >> b.txt
cat 文件1 > 文件2 (将文件1内容覆盖写入文件2)
echo “要写入的内容” >> 文件 (追加写入)
cal 日历指令
-n 5 查看前五行
-n 5 显示后五行 -f 实时追踪该文档的所有更新,实时追踪文件的改变 实际开发中很常用
删除软链接与删除目录一样,利用rm -rf
可在date后边添加格式, %Y年 %m 月 %d 日 %H 时 %M 分 %S 秒 但必须有"+"
date “+%Y-%m-%d” 其中-只是表示分隔符,可以任意指定,甚至是汉字
date -s “2018-10-1 11:22:22” 设置当前系统时间
-name 按名称查询 find /home -name hello.txt 按名字查找可以使用通配符 常用通配符 *代表任意字符串,?代表单个字符
-user 按用户查找 find /opt -user root 显示opt目录下属于root用户或用户名称为root的所有文件和目录
-size 按文件大小查找 find / -size +20M 在根目录下找到大于20M的文件和目录 -20M 表示小于20M 只写一个20M 表示等于20M
updatedb 指令用来创建locate数据库,至于updatedb怎么创建的数据库不需要了解.在首次利用locate指令前,必须使用updatedb
管道符 “|” 将前一个命令的输出传递给后面的命令处理 管道符左右两边都是指令
-n 显示匹配行及行号
-i 忽略字母大小写
gzip 压缩后源文件消失 gzip /home/hello.txt -> hello.txt.gz
zip [选项] xxx.zip 要压缩的文件 压缩文件或目录 unzip [选项] xxx.zip 解压缩
zip的选项 :-r 递归压缩,即压缩目录
unzip选项: -d 指定解压缩到的目录
tar [选项] XXX.tar.gz 要打包的内容*
-x 解包.tar文件,提取文件
-f 指定压缩后的文件名
-z 打包同时压缩,其实就是windows的压缩
-c 创建新的压缩归档
-v 显示详细信息
打包指令 tar -zcvf 打包后的文件名 要打包的内容
解压缩指令 tar -zxcf 要解压的内容 -C [指定解压目录] 若未指定目标目录,则默认解压到要解压的文件的目录下 即解压到当前目录
Linux中每个用户必须属于一个组
Linux中每个文件有三个属性: 所有者, 所在组, 其它组
查看文件所有者: ls -ahl
修改文件所有者: chown 用户名 文件名 -R选项可以递归改变整个目录下的文件和目录所有者
修改文件所在组: chgrp 组名 文件名
chgrp newgroup file 改变文件的所有组
同样可以使用-R 选项将目录下的所有文件和目录所在组修改
对于实际开发人员很实用,但作为入门学习,可以先做了解,不做细入研究.系统在某个时间执行的特定的额命令或程序,比如说定期更新某些数据,或者日志追加等
-e 编辑crontab定时任务
-l 查询crontab定时任务
-r 终止任务调度
service crond restart [重启任务调度]
Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬
盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,
前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则
和 IDE 硬盘的表示方法一样。
Linux 无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。
再次回顾经典:Linux,一切皆为文件
Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
①df -lh 查询系统整体磁盘使用情况
②du -ach 查询某个目录的磁盘占用情况
-c 显示汇总值
-a 显示文件
–max-depth=1 指定子目录深度,即查询到第几级子目录
③ls -l /home | grep “^-” | wc -l 统计home目录下文件个数,不包括子目录下的
④ls -l /home | grep “^d” | wc -l 统计home目录下目录个数
⑤ls -lR /home | grep “^-” | wc -l 统计home目录下文件个数,包括子目录下的文件
⑥ls -lR /home | grep “^d” | wc -l 统计home目录下目录个数,包括子目录下的文件
⑦tree 用树状图形式展示目录结构 (yum install tree 安装tree指令),指令安装都可以用yum
具体操作可以自行搜索,但这种方式每次重启开机ip地址都是随机分配的,因此不能用作服务器,因为远程连接服务器需要输入ip地址,故不做详细介绍.
直接修 配置文件指定IP,并可以连接到外网 ( 程 序 员 推 荐 ) ,编 辑 vi/etc/sysconfig/network-scripts/ifcfg-eth0
修改后,一定要重启网络服务 service network restart,重启主机也可以但没必要
在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号。每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如 www 服务器。
每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进
行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
ps -aux | more 查看系统进程状况, 也可以不加参数 a参数代表all,u代表用户格式,x代表显示隐藏进程
pstree -pu 用树状形式显示进程
kill [选项] 进程号(PID) 通过进程号杀死进程
killall 进程名称 通过进程名称杀死进程,支持**通配符**
选项: -9 强制终止
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请
求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程.
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请
求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,
setup 命令 或者访问 /etc/init.d/目录 ls -l /etc/init.d/
①service 服务名 [start | stop | restart | reload | status] 若不支持service,尝试systemctl命令
service sshd/iptables status 查看远程连接服务/防火墙服务 的运行状态
注意: service 命令对服务立即生效,但只是临时生效,重启主机后服务仍为其默认模式
②chkconfig 可以给每个服务的各个运行级别设置自启动/关闭,即设置默认状态
chkconfig --list | grep 指定服务 或者 chkconfig 指定服务 --list查看服务及其在各个运行级别下的默认状态
chkconfig --level 5 服务名 on/off 设置指定服务在指定运行级别下的默认状态
注意:由于chkconfig是修改服务的默认状态,因此需要重启主机后才能生效,而且是永久生效,除非再次进行修改,可以结合service使用,比如默认是关闭,如果此时需要该服务,可以利用service 从而不需要重启主机.
注:Ubuntu版本并不存在chkconfig指令,注意区分
top [选项]
top 与 ps 命令很相似。它们都用来显示正在执行的进程。top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。默认3秒刷新进程状态.
输入top命令后,显示如下界面
此时可以键入u,然后回车,输入指定用户,可动态监控指定用户的进程,同样键入k,回车,再输入进程ID,可杀死进程
netstat [选项]
常用选项: netsat -tunlp; netsat -anp
一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.rpm扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。
rpm –qa | grep xx 查询已安装的 rpm 列表
rpm -q 软件包名 查询软件包是否安装 例:rpm -q firefox 查询火狐软件包是否安装
rpm -qi 软件包名 查询软件包信息
rpm -ql 软件包名 查询软件包中的文件安装路径
rpm -qf 文件全路径名 查询某个文件属于哪个rpm包
rpm -ivh RPM包全路径名称 安装指定rpm包 i代表install v=verbose表示提示 h=hash表示进度条
注意:安装之前先要找到要安装的rpm包的位置,然后进入所在目录,输入对应指令安装
rpm -e RPM包的名称 卸载指定RPM包 例: rpm -e firefox
如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。
yum list | grep xx 查询yum服务器是否有需要安装的软件包 yum list | grep firefox
yum install xxx 下载安装软件包
m -ivh RPM包全路径名称** 安装指定rpm包 i代表install v=verbose表示提示 h=hash表示进度条
注意:安装之前先要找到要安装的rpm包的位置,然后进入所在目录,输入对应指令安装
rpm -e RPM包的名称 卸载指定RPM包 例: rpm -e firefox
如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。
基本指令:
yum list | grep xx 查询yum服务器是否有需要安装的软件包 yum list | grep firefox
yum install xxx 下载安装软件包
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。