文章目录
1.桌面和终端基本操作2.Linux文件系统3.系统命令4.帮助命令5.文件管理命令6.文本内容查看命令7.文件查找命令8.其他命令9.VIM编辑器10.系统管理11.输出重定向(>)和追加(>>)12.管道13.ln软链接14.用户管理命令15.文件权限管理16.系统软件管理17.Linux服务18.系统运行级别19.网络配置20.防火墙21.主机名22.ip映射23.SSH24.远程拷贝25.补充知识1.桌面和终端基本操作
super键是win徽标键;super+上:窗口最大化,super+左/右:窗口置左/右;super+下:恢复
Linux终端和windows命令提示符类似
登录界面,进入后鼠标右击,选择打开终端,即可进入终端界面
ctrl+alt+f(2-6):切换终端,ctrl+alt+f1:恢复图形化页面,ctrl+shift++:字体放大,ctrl+ -:字体缩小
[root@Username ~ ]#:root当前用户,Username主机名,当前所在位置(是主文件夹),#输入命令提示(root用户#,普通用户$)
2.Linux文件系统
windows目录用反斜线“ \ ",Linux用“ / ”/bin
是Binary的缩写,存放经常使用的命令,二进制目录,可直接执行,实际逻辑位置是/usr/bin
/sbin
s是system,需要管理员权限才能使用的命令
/lib libary
,库目录,相当于windows的system32
/lib64
实际逻辑位置/usr/bin
/usr
用户所有的应用程序和所需要的文件数据,很多系统软件的默认安装路径,类似win的porgran file目录
/boot
挂载引导分区,linux系统启动的时候需要加载和使用的文件
/dev
device设备目录,包含cpu,disk等,外设连接Linux后,对应的文件存放的位置
/etc
放置系统管理所需要的配置文件,注册文件等,类似win中的注册表
/home
存放普通用户的主目录,root用户的主文件夹存放在/root
/opt optional
,可选目录,给第三方软件包的位置
/media
可移动媒体设备的挂载点,u盘、光驱
/mnt
和media
类似
/proc
process,进程目录,系统内存的映射
/run
运行目录,当前系统运行的所有实时信息,重启之后会消失
/srv
service,存放系统服务相关信息
/sys
system系统硬件信息相关文件
/tmp
temporarily(暂时地),临时存放目录
/var
variable可变的,可变目录,存放经常被修改的内容,如日志文件和缓存文件
3.系统命令
ip a(ip addr)
查看IP地址
ping 目标机器的ip
ping网络(测试网络连通)
date
查看系统时间
logout
注销
clear
清屏
sync
将数据由内存同步到硬盘中
halt
停机,关闭系统,但不断电
poweroff
关机,断电
reboot
重启,等同于 shutdown -r now
shutdown [选项] 时间
Linux系统为提高磁盘读写效率,对磁盘采取“预读迟写”操作方式。当用户保存数据时,Linux核心并不是立刻将保存数据写入物理磁盘,而是先保存在缓冲区,等缓冲区满时再写入磁盘,极大提高磁盘写入数据的效率。但也带来了安全隐患,如果还未写入磁盘时系统掉电,将导致数据丢失。使用sync
指令可以立刻将缓冲区的数据写入磁盘
4.帮助命令
man
manual获得帮助信息,`man ls``
help
获得shell内置命令的帮助信息,help cd
常用快捷键
5.文件管理命令
ls
列出目录的内容:ls [-参数1参数2] [目标文件夹]
查看当前目录下的文件列表: ls查看指定目录下的文件 : ls /查看详细信息,元数据信息 : ls -l(等同 ll)(用户、组、大小、创建时间、权限信息、文件类型),查看全部(包括隐藏)文件: ls -a参数并用: ls -lacd
切换目录:cd 目标文件夹
路径切换: cd 绝对/相对路径cd - :返回上一个文件夹cd :回到用户的主文件夹pwd
显示当前工作目录的绝对路径 特殊目录符号 : ‘‘:当前用户的home目录;’.‘:当前目录;’…‘:上一级目录,’’:当前用户的主文件夹mkdir
创建一个新的目录 在当前位置新建文件夹 : mkdir 文件夹名在指定目录位置,创建文件夹,并创建父文件夹: mkdir -p /a/b/文件夹名rmdir
删除一个空目录
touch
创建空文件
在当前目录下新建文件: touch 文件名/文件路径rm
删除文件或目录: 删除文件: rm 文件夹删除文件夹:rm -r 文件夹强烈删除不询问: rm -rf 文件夹(谨慎使用)cp
复制文件或目录拷贝文件: cp 原文件 新文件拷贝文件夹 : cp -r 原文件夹 新文件夹(-r 参数,递归复制整个文件夹)mv
移动文件或修改文件名移动原文件到目标文件夹中: mv 文件 文件夹修改文件A的名字为文件B: mv 文件A 文件B
6.文本内容查看命令
cat
查看文件中的全部信息(适合查看小文档): cat 文件名
more
文件内容分屏查看器
less
以分页方式浏览文件信息(适合查看大文档): less 文件名
echo
输出内容到控制台:echo [选项] [输出内容] -e:支持反斜杠控制的字符转换, echo -e “hello\nworld”head
显示文件头部内容
head 文件: 查看文件头10行内容
head -n 5 文件 :查看文件头5行内容,5可以是任意行数
tail
输出文件尾部内容 tail 文件: 查看文件尾部10行内容tail -n 5 文件 :查看文件尾部5行内容tail -f 文件: 实现追踪该文档的所有更新,监视文件变化
7.文件查找命令
find
查找文件或目录 find [搜索范围] [选项] -name<查询方式> 按照指定的文件名查找文件 find /root -name “*.cfg” 查找目录下所有.cfg文件 -user<用户名> 查找属于指定用户名所有文件 find /home -user A用户 查找属于A用户的所有文件 -size<文件大小> 按照指定的文件大小查找 b-块(512字节)、c-字节、w-字(2字节)、k-千字节、M-兆字节、G-吉字节find /root -size +2M 查找文件大小大于2M的文件locate
定位文件路径 locate 搜索文件 利用事先建立的系统中所有文件名称及路径,locate数据库实现快速定位文件为保证查询结果的准确度,管理员需定期更新locate时刻updatedb 由于locate指令基于数据库查询,所以第一次运行前,要使用updatedb指令创建更新数据库locate document 查找文件grep
文件内容查找:grep -参数 查找内容 原文件 -n:显示查找结果所在行号;-R:递归查找目录下的文件grep -n boot docunment 在document文件查找bootwc
word count,单词词频统计 显示内容:行数、单词数、字节数wc info 查看info文件的行数、单词数、字节数grep -n boot document | wc 对grep查询结果进行统计8.其他命令
history
查看已经执行过的历史命令 history 10 :显示10条历史命令!1156 :执行编号对应的历史命令history -c:清空历史命令data
[-OPTION]…[+FORMAT] -d<时间字符串> 显示指定的“时间字符串”表示的时间,而非当前时间 date -d ‘1 days ago’ 显示前一天的时间date -d ‘-1 hours ago’ 显示后一小时的时间 -s<日期时间> 设置系统日期时间 data -s “-06-19 20:52:18” 设置系统当前时间ntpdata -u cn. 同步时间代码,恢复系统时间(可能需要先安装ntpdata:yum install ntpdata) <+日期时间格式> 指定显示时使用的日期时间格式 data 显示当前时间data +%Y 显示当前年份data +%m 显示当前月份data “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒(格式中存在空格,需要引号)data +%s 显示时间戳(1970.1.1到现在经过的总秒数)cal
查看日历 cal [选项] cal 不加选项,显示本月日历cal -y 显示当年日历cal -m 周一置左显示(默认周日)cal -3 显示前、当、后三个月日历cal (具体某一年) 显示这一年的日历9.VIM编辑器
模式间转换
一般模式 常用语法进入 编辑模式 语法指令模式 基本语法
10.系统管理
静态查看系统进程:ps -aux实时查看系统进程:top 上箭头:上翻;下箭头:下翻;q:退出 关闭进程:kill 进程id强制关闭进程(谨慎使用):kill -9 进程id11.输出重定向(>)和追加(>>)
ls -l > 文件 列表的内容写入文件 a.txt 中(覆盖写)ls -al >> 文件 列表的内容追加到文件 aa.txt 的末尾cat 文件1 > 文件2 将文件1的内容覆盖到文件2echo “内容” >> 文件12.管道
将命令1的输出结果,作为命令2的输入:命令1 | 明亮例子 查找aries用户: cat /etc/passwd | grep -n “baizhi”查找aries组: cat /etc/group | grep -n “baizhi”查找sshd进程: ps -aux | grep sshd13.ln软链接
ln -s [原文件或目录] [软链接名] 给原文件创建一个软链接,类似于windows里的快捷方式
删除软链接:rm -rf 软链接名,而不是 rm -rf 软链接名/(会把软链接对应真实目录下内容删掉)
查询:通过 ll 可以查看,列表属性第1位是 l ,尾部会有位置指向
ln [原文件] [硬链接名] 硬链接,原文件多了一个指向
软链接是链接到文件地址,硬链接是链接到文件的内容;原文件删除,软链接失效,硬链接不失效
14.用户管理命令
用户 创建用户:useradd -g 组名 用户名
useradd 用户普通用户主文件夹:/home/用户名useadd -d /home/dave david 在创建david用户时,修改其主文件夹名为dave 设置密码:passwd 用户名
(输入密码不显示)查找系统账户:系统每个用户信息保存在/etc/passwd文件中切换用户:su 用户名
删除用户:userdel -r 用户名
id 用户名 查看用户的所属信息cat /etc/passwd 查看创建了哪些用户cat /etc/shadow 查看密码(已加密)whoami(who am i) 查看当前用户身份(最原始创建会话的用户) 用户组 创建组:groupadd 组名
删除组:groupdel 组名
查找系统中的组:cat /etc/group | grep -n "组名"
(系统每个组的信息会被存放在/etc/group的文件中)groupmod -n B组 A组 将 A组 组名改为 B组usermod -g A组 b用户 将 b用户 添加到 A组 中sudo
设置普通用户具有root权限sudo可以给普通用户临时赋予管理员权限
赋予普通用户使用 sudo 命令权限
root用户登录下,进入/etc/sudoers(vim /etc/sudoers)
- ```##找到下面一行(91行),在root下面添加一行,如下所示:rootALL=(ALL)ALLuserALL=(ALL)ALL##或者配置成采用sudo命令时,不需要输入命令rootALL=(ALL)ALLuserALL=(ALL)NOPASSWD:ALL```
用户组管理员权限(/etc/sudoers),默认wheel组有管理员权限
%wheelALL=(ALL)ALL
15.文件权限管理
rwx 作用于文件和目录 作用于文件 r :read,可读,可以读取,查看(代表命令:more, cat, less, cp, head, tail)w :write,可写,可以修改,但不代表可以删除该文件(删除一个文件,需要对该文件所在的目录有写权限)(代表命令:vi)x :execute,可执行,可以被系统执行 作用于目录 r :可以读取,ls查看目录内容(代表命令:ls)w :可以修改,目录内创建+删除+重命名目录(代表命令:rm、touch)x : 可以进入该目录(代表命令:cd) ll (ls -l)命令显示内容详解第 1 列
0首位(第一个字符)表示文件类型1-3位确定属主(该文件的所有者)拥有该文件的权限 --User4-6位确定属组(文件所有者的同组用户)拥有该文件的权限 --Group7-9位确定其他用户拥有该文件的权限 --Other
第 2 列 目录/链接个数
第 3 列 文件的所有者
第 4 列 文件所有者所在组
第 5 列 文件大小,单位为字节
第 6 、7、8 列 文件最后修改日期时间
第 9 列 文件名
文件类型
“-” 普通文件“d” 目录“l” 链接文件“p” 管理文件“b” 块设备文件“c” 字符设备文件“s” 套接字文件 查看权限
ls -la 文件 :显示当前目录下文件的详细信息
chown
修改文件所有者 和chgrp
修改所属组
chown [-R] user名:group名 文件名-R 递归执行,如果是文件夹,使用这个参数对文件夹下所有文件修改命令权限需要root修改文件所有者:chown 用户名 文件名
修改文件所属组:chown :组名 文件
修改文件所有者和所属组:chown 用户名:组名 文件名
修改文件夹的所有者和所属组:chown [-R] 用户名:组名 文件夹
chgrp [新组] [文件目录]chgrp root document
chmod
权限设置
chmod [ { u g o a }{ + - = }{ r w x }] 文件或目录 u:所有者,g:所属组,o:其他,a:所有chmod u=rw, g+x,o+x documentchmod a+x document chmod [-R] nnn 文件或目录 r,w,x对应值分别为4,2,1拥有 读 写 权限r+w=6,拥有 读 执行 权限r+x=1chmod 765 documentchmod -R 777 文件夹/ 给文件夹里面所有文件赋予权限
16.系统软件管理
压缩解压缩gzip/gunzip
gzip 文件 压缩文件,只能将文件压缩为*.gz文件gunzip 文件.gz 解压缩文件命令只能压缩文件不能压缩目录,不保留原文件,同时对多个文件压缩产生多个压缩包
zip/unzip
zip [选项] XXX.zip 将要压缩的内容 压缩文件和目录unzip [选项] XXX.zip 解压缩文件zip选项:-r 压缩目录unzip选项: -d<目录> 指定解压缩后文件的存放目录zip 压缩命令在window/linux都通用,可以压缩目录且保留原文件
tar
打包
tar [选项] XXX.tar.gz 将要打包的内容 打包目录,压缩后的文件格式 .tar.gz
-c : c压缩,产生 .tar 打包文件
-v :显示执行过程的详细信息
-f :指定压缩后的文件名,必须放在最后
-z :打包同时压缩
-x :解包.tar文件
-C :解压到指定目录
压缩语法:tar -zcvf 压缩后文件夹名 被压缩文件夹
解压缩语法:tar -zxvf 压缩文件名 -C 解压后文件所在目录
rpm
软件
类似于windows中的.exe程序
安装rpm软件:rpm -ivh xxx.rpm
查看系统中是否安装过该rpm软件:rpm -qa 软件名
卸载rpm软件:rpm -e 软件名
安装tree工具,查看某个目录下的文件信息:tree -L 2 要查看的路径
yum
列出所有可以安装的软件包:yum list
安装软件:yum install -y 软件名
卸载软件:yum remove 软件名
查看软件包:yum search all 软件包
17.Linux服务
服务器管理命令:systemctl status 服务名
启动服务:systemctl start 服务名
重启服务:systemctl restart 服务名
停止服务:systemctl stop 服务名
禁止服务随linux启动:systemctl disable 服务器
设置服务随linux启动:systemctl enable 服务器
查看服务的方法: /etc/init.d/服务名
进程:一个正在执行的程序或命令启动之后一直存在、常驻内存的进程
18.系统运行级别
Linux运行级别(CentOS 6) Linux系统的7种运行级别(runlevel):常用的是级别3和5 运行级别0:系统停机状态,系统默认运行状态不能设为0,否者不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录运行级别2:多用户状态(没有NFS),不支持网络运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式运行级别4:系统未使用,保留运行级别5:X11控制台,登陆后进入图形CUI模式运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动 CentOS7的运行级别简化为:multi-user.target
等价于原运行级别3(多用户有网,无图形界面)graphical.target
等价于原运行级别5(多用户有网,有图形界面) 查看当前运行级别:systemctl get-default
修改当前运行级别:systemctl set-default TARGET.target
(TARGET取multi-user 或者 graphical)19.网络配置
查看网络IP和网关 查看虚拟网络编辑器 windows查看ip地址:命令提示符窗口输入ipconfig
Linux查看ip地址:终端输入ifconfig
测试网络连通: ping 目标机器的ip VMware提供的三种网络连接模式 桥接模式 :虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的NAT模式 :虚拟机和主机构建一个专用网络(VMnet8),并且通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机仅主机模式 : 虚拟机只与主机共享一个专用网络(VMnet1),与外部网络无法通信 IP设置服务名:network
[root@centos7 dirnew]# vim /etc/sysconfig/network-scripts/ifcfg-ens33----------------网卡对应的文件内容---------------------TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static" # 由'dhcp'修改为'static',自动获取改为静态获取DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95"DEVICE="ens33"ONBOOT="yes"#IP地址IPADDR="192.168.199.8" # 修改这里的ip地址即可PREFIX="24"#网关GATEWAY="192.168.199.2"#域名解析器DNS1="192.168.199.2"DNS2="8.8.8.8"IPV6_PRIVACY="no"[root@centos7 dirnew]# systemctl restart network #重启网卡服务
修改IP地址后可能会遇到的问题 物理机能ping通虚拟机,虚拟机ping不通物理机,一般都是因为物理机的防火墙问题,把防火墙关了就行虚拟机能ping通物理机,但是虚拟机ping不通外网,一般都是因为DNS的设置问题虚拟机ping 百度 显示域名未知等信息,一般查看CATEWAY和DNS设置是否正确如果以上全部设置完全不行,需要关闭NetworkManager服务systemctl stop NetworkManager
关闭systemctl disable NetworkManager
禁用 如果检查发现systemctl status network 有问题,需要检查ifcfg-ens33
20.防火墙
服务名:firewalld
开启防火墙:systemctl start firewalld
关闭防火墙:systemctl srop firewalld
禁止防火墙开机自启:systemctl disable firewalld
21.主机名
查看主机名:hostname
修改主机名(一):hostnamectl set-hostname 主机名
修改主机名(二):vi /etc/hostname
(重启生效)22.ip映射
虚拟机
域名解析
本地hosts编辑
[root@centos7 ~]# vim /etc/hosts--------------下面是文件------------------192.168.199.100 hadoop100192.168.199.101 hadoop101192.168.199.102 hadoop102
主机
路径:C:\Windows\System32\drivers\etc\hosts
--------------文件内容------------------192.168.199.100 hadoop100192.168.199.101 hadoop101192.168.199.102 hadoop102
23.SSH
远程登录linux:ssh 远程linux的ip或映射域名
以root用户远程登录:ssh root@hadoop100
(hadoop100为主机名)免密登录 ssh登录远程linux,免去输入密码的麻烦# 生成公钥和私钥[root@centos7 ~]# ssh-keygen------------执行结果-----------[root@centos7 ~]# tree .ssh.ssh├── id_rsa # 私钥├── id_rsa.pub # 公钥└── known_hosts# 发送公钥`保存公钥的文件为/root/.ssh/authorized_keys`[root@centos7 .ssh]# cat id_rsa.pub > authorized_keys# 发送公钥[root@centos7 .ssh]# ssh-copy-id 目标主机的ip
24.远程拷贝
scp 本地的文件 root@远程linuxip:/远程linux的文件路径
scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径