Linux常用命令讲解
Linux学习之路
1.Linux安装篇
1.1 Linux安装教程
1.2 vm的安装步骤
1.3 .CentOS安装步骤
2.Linux基础篇——
2.1CentOS终端使用和联网
2.2 vmtool 的安装和使用
2.3 使用 vmtools 来设置 windows 和 linux 的共享文件夹
2.4 Linux目录结构
2.5 目录结构的具体介绍
3.Linux实操篇
3.1 远程登录Linux系统
3.2 远程上传下载Xftp5
3.3 Vi 和 Vim 编辑器
3.4 开机、重启和用户登录注销
3.5 用户管理
3.6实用指令
1.Linux运行级别
2.运行级别切换指令
1.init指令
3.帮助指令(man、help)
1.man指令
2.help指令
4.文件目录类指令
1.pwd指令(查看当前目录)
2.ls指令(查看该目录下的 目录/文件)
3.cd指令(跳转目录)
4.mkdir指令
5.rmdir指令(删除目录)
6.touch指令(创建一个空文件)
7.cp指令(拷贝指令)
8.rm指令
9.mv指令
10.cat指令(查看文件内容,只读)
11.more指令
12.less指令(显示内容)
14.echo指令(输出语句)
15.head指令(显示文件开头)
16.tail指令(显示文件尾部)
17.ln指令(快捷方式)
18.history指令
5.时间日期类
1.date指令(显示当前日期)
2.date指令(设置日期)
3.cal指令(查看日历)
6.搜索查找类
1.find指令
2.locate指令(快速定位文件路径)
3.grep指令和管道符号|
7.压缩,解压缩
1.gzip/gunzip 指令
2.zip/unzip 指令
3.tar指令(打包指令)
3.7组管理和权限管理
1.linux组的基本介绍
2.文件/目录 所有者
3.修改文件所有者
4.组的创建
5.文件/目录 所在组
6.其他组
7.改变用户所在组
3.8权限管理
1.chmod指令
2.-R指令
3.9未分类指令
1.pwd指令
2.ls指令
3.mount指令
4.yum指令
4.0常见操作汇集
Q1.解压错误
Q2.linux 下 新建目录/解压文件 自动加锁的解决办法
Q3:vim 修改文件出现错误“E45: ‘readonly’ option is set (add ! to override)”
Q4:查看后台进程是否起来了
Q5:Linux连接redis客户端出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
Q6:linux下如何安装jdk配置环境变量
Q7:linux下运行java文件
Q8:linux如何下运行tomcat
Q9:linux发布一个项目
Q10:window10的telnet不是内部命令(安装telnet)
Q11:如何实现远程桌面功能
Q12:如何远程了解到linux?
Q13:如果实现端口转发?
Q14:使用rpm安装软件
Q15:如何给linux传文件
Q16:YUM安装软件配置远程源
Q17:如果在linux使用mysql?
Q18:VMware虚拟机的设置无法进行编辑如何解决?
linux相关网络知识
OneNote上的笔记,会跟前面有重复
Linux学习之路
1.Linux安装篇
1.1 Linux安装教程
1.安装 vm 软件
2.通过 vm 软件创建一个虚拟机空间
3.通过 vm 软件在创建好的虚拟空间上,安装我们的 CenOS(Linux的一个版本) 操作系统
4.使用 CenOS
1.2 vm的安装步骤
1.去 BIOS(开机F2/F10进入) 修改设置开启虚拟机拟化设备支持
2.安装虚拟机软件(vm12):https://www.bilibili.com/video/av21597782/?p=8(内涵激活码)
1.3 .CentOS安装步骤
1.创建虚拟机(空间)(管理员方式运行 VMware Station)
https://www.bilibili.com/video/av21597782/?p=9
2.开始安装系统(CentOS6.8)
http://mirrors.sohu.com/centos/6/isos/x86_64/
http://mirrors.163.com/centos/6/isos/x86_64/
ps:虚拟机的网络连接三种形式的说明
1.桥接:虚拟机和本机的ip地址在同一个网段,别人能访问本机就能访问虚拟机;坏处是如果很多人,253ip(除去网关1,广播255)地址不够用,ip冲突。
2.NAT: window分配两个ip,ip1负责本机向外通讯,ip2跟Linux的ip在同一个网段,ip1和ip2在不同网段,所以别人不能访问虚拟机,但Linux可以访问外网,网络地址转换方式。
2.Linux基础篇——
2.1CentOS终端使用和联网
账号:Gwen
用户名:suguowen
密码:123456
1.终端的使用,点击鼠标右键,即可选择打开终端
2.配置网络可以上网(点击上面右侧:两个计算机图片,选择启用eth0,)
2.2 vmtool 的安装和使用
1.进入centos
2.点击 vm 菜单的 ->install vmware tools
3.centos 会出现一个 vm 的安装包
4.点击右键解压,得到一个安装文件
5.进入该 vm 解压的目录,该文件在 /root/桌面/vmware-tools-distrib/下
6.安装 ./vmware-install.pl
7.全部使用默认设置即可
8.需要 reboot 重新启动才可以生效
2.3 使用 vmtools 来设置 windows 和 linux 的共享文件夹
1.虚拟机 -> 设置 -> 选项 -> 共享文件夹 -> 总是启用 -> 添加windows共享文件夹
2.设置完后,共享文件夹在linux下的/mnt/hgfs/目录下
2.4 Linux目录结构
基本介绍:linux的文件系统是采用级层式的树状目录结构,在此机构中的最上层是根目录“/”,然后在此目录下再创建其他的目录
深刻理解 linux 树状文件目录非常重要,记住一句经典的话: 在 linux 的世界里,一切皆为文件
2.5 目录结构的具体介绍
总结:
1.linux的目录中有且只有一个根目录 /
2.linux的各个目录存放的内容是规划好的,不用乱放文件。
3.linux是以文件的形式管理我们的设备,因此linux系统,一切皆为文件。
4.linux1各个目录下存放什么内容,大家要有一个认识。
5.学习完,脑海中有一颗linux目录树。
3.Linux实操篇
3.1 远程登录Linux系统
1.为什么需要远程登录Linux
2.安装 XShell5 并使用
3.远程登录的界面
4.远程登录,需要输入账号密码,可以先在linux创造设置好。
Q:linux创建用户、设置密码
A:添加用户:useradd -m 用户名 ;然后设置密码 passwd 用户名;删除用户:userdel -r 用户名
3.2 远程上传下载Xftp5
1.软件介绍:Xftp5是基于 window 平台功能强大的sftp、ftp文件传输软件。使用了Xftp以后,window用户能安全地在 UNIX/Linux 和 WindowsPC 之间传输文件
2.安装配置使用
连接到Linux界面如下
3.如何解决ftp乱码问题
点击确定后刷新
3.3 Vi 和 Vim 编辑器
1.vi和vim基本介绍
2.vi和vim三种常见模式
3.例子
vim Hello.java (用 vim 打开/新建 Hello.java 文件) (进入正常模式)- > i (进入插入模式)-> 编写Java类代码 -> 键盘敲Esc(退出插入模式)-> :wq(冒号进入命令行模式,wq写入保存停止) -> 完成vim写java文件
ps:vim模式下, ? 跳到最后一行
3.4 开机、重启和用户登录注销
1.关机&重启命令
2.用户登录和注销
3.5 用户管理
1.Linux用户介绍
2.添加用户(在下面案例,useradd会默认把xiaoming放xiaoming组里)
3.修改密码
4.删除用户(删除用户时,我们一般不会将家目录删除)
5.查询用户信息(当用户不存在,返回“无此用户”)
6.切换用户
7.查看当前用户/登录用户
8.用户和组
1.增加、删除
2.增加且上组
例子
3.修改用户组
案例
4.用户和组的相关文件
3.6实用指令
1.Linux运行级别
2.运行级别切换指令
1.init指令
案例1
例子2
开机,enter -> ee1b改root密码(只有当你在服务器的电脑上们才能有这个操作,linux默认你是服务器的主人;无法远程改root密码)
3.帮助指令(man、help)
1.man指令
2.help指令
指令:xx –help(查看xx的用法)
4.文件目录类指令
1.pwd指令(查看当前目录)
2.ls指令(查看该目录下的 目录/文件)
例子
3.cd指令(跳转目录)
案例1:使用绝对路径切换都root兖
cd/root
案例2:使用相对路径到/root 目录(假设我们在/usr/lib下)
cd …/…/root
案例3:表示回到当前目录的上一级目录
cd…
案例4:回到家目录
cd ~
cd
4.mkdir指令
案例1:创建home下一个dog目录
案例2:创建home下多级目录 /animal/tiger
5.rmdir指令(删除目录)
实例删除一个目录/home/dog
使用细节
rmdir 删除的是空目录,如果目录下有内容无法删除。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
6.touch指令(创建一个空文件)
案例1:创建一个空文件 hello.txt
案例2:一次性创建多个文件
7.cp指令(拷贝指令)
案例1:将 /home/aaa.txt 拷贝到 /home/bbb 目录下(拷贝单个文件)
案例2:递归复制整个文件夹,举例 将/home/test 整个拷贝到 /home/zwj 目录
使用细节:强制复制不提示(cp同一个文件名,强制覆盖不提示 是否覆盖)
小技巧:可以通过 上下箭头的键,调出原来使用过的指令。
8.rm指令
案例1:将 /home/aaa.txt 删除
案例2:递归删除 /home/bbb
使用细节
强制删除不提示,带上 -f 参数即可
9.mv指令
案例1:将 /home/aaa.txt 文件,重命名为 pig.txt
案例2:将 /home/pig.txt 文件,移动到 /root/目录下
10.cat指令(查看文件内容,只读)
案例1: /etc/profile 文件内容,并显示行号
使用细节
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上,管道 |more
11.more指令
案例:采用more查看文件 /etc/profile
快捷键(输入完more指令,然后看文档的时候,按下面的操作即可。)
12.less指令(显示内容)
案例:采用 less 查看一个大文件 /opt/金庸-射雕英雄传 txt精校版.txt
快捷键
13.>指令和>>指令
案例1:把列表内容写入 info.txt(如果info.txt不存在,则创建它再写入;如果存在,则覆盖)
案例2:把列表内容追加到b.txt
案例3:把一个文件的内容 覆盖/追加 到另一个文件(> / >>)
案例4:把一段文字 覆盖/追加 到另一个文件(> / >>)
echo “内容” >> a.txt
案例5:把当前日历信息 追加到 /home/mycal 文件中 [提示 cal]
14.echo指令(输出语句)
案例1:使用echo指令输出环境变量,输出当前的环境变量
案例2:使用echo指令输出 hello.world!
15.head指令(显示文件开头)
16.tail指令(显示文件尾部)
案例1:查看 /etc/profile 最后5行代码
案例2:实时监控 mydate.txt,看看文件有变化时,是否看到,实时追加日期
17.ln指令(快捷方式)
案例1:在 /home/ 目录下创建一个软连接 linkToRoot,连接到/root 目录
案例2:删除软连接 linkToRoot
提示:当我们使用pwd指令查看目录时,仍然看到的是软连接所在目录
18.history指令
案例1:显示所有的历史命令
案例2:显示最近使用过的10个命令
案例3:执行历史编号为5的指令
5.时间日期类
1.date指令(显示当前日期)
案例1:显示当前日期
案例2:显示当前时间年月日
案例3:显示当前年月日时分秒
2.date指令(设置日期)
案例1:设置系统当前时间,比如设置成2018-10-10 11:22:22
3.cal指令(查看日历)
案例1:显示当前月日历
案例2:显示2020年的日历
6.搜索查找类
1.find指令
案例1:按文件名,根据名称查找/home 目录下的hello.txt文件
案例2:按拥有者,查找/opt目录下,用户名称为nobody的文件
案例3:查找整个linux系统下大雨20M的文件(+n 大于 -n小于 n等于)
案例4:查询 / 目录下,所有.txt文件
2.locate指令(快速定位文件路径)
案例1:请使用 locate 指令快速定位 hello.txt 文件所在目录
3.grep指令和管道符号|
案例1:请在 hello.txt 文件中,查找“yes” 所在行,并且显示行号。
7.压缩,解压缩
1.gzip/gunzip 指令
案例1:将 /home 下的 hello.txt 文件进行压缩
案例2:将 /home 下的 hello.txt.gz 文件进行解压缩
细节说明:
当我们使用gzip对文件进行压缩后,不会保留原来的文件
2.zip/unzip 指令
案例1:将 /home 下的所有文件进行压缩成 mypackage.zip
案例2:将 mypackage.zip 压缩到 /out/tmp 目录下
3.tar指令(打包指令)
案例1:压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
案例2:将 /home 的文件夹,压缩成 myhome.tar.gz
案例3:将 a.tar.gz 解压到当前目录
案例4:将 myhome.tar.gz 解压到 /opt/ 目录下
案例5:查看压缩包pak压缩包下有什么文件
使用提示:
指定目录事先要有,否则会报错
3.7组管理和权限管理
1.linux组的基本介绍
2.文件/目录 所有者
3.修改文件所有者
指令:chown 用户名 文件名
案例:使用root创建一个文件apple.txt,然后将其所有者修改成 tom
4.组的创建
案例1:创建一个组 ,monster;创建一个用户fox,并放入monster组中
5.文件/目录 所在组
案例1:
案例2:使用root用户创建文件 orange.txt 看看当前这个文件属于哪个组,然后将这个文件所在组,修改到police组。
6.其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组。
7.改变用户所在组
案例:创建一个土匪组(bandit)将tom这个用户从原来所在的police组,修改到bandit(土匪)组
3.8权限管理
1.chmod指令
案例:修改b.txt的user权限,赋值,减权
2.-R指令
指令:指令 -R 动作 文件夹名
3.9未分类指令
1.pwd指令
指令:查看当前目录
[root@localhost ~]# pwd
/root
[root@localhost ~]#
1
2
3
2.ls指令
指令:显示指定目录下的文件、目录列表
3.mount指令
指令:mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。
实例1:将dev的cdrom挂载到mnt的cdrom
案例2:mount -t iso9660 /dev/cdrom /mnt是什么意思
mount 是挂载的意识,这个是在linux非常有用的命令。
mount -t iso9660 /dev/cdrom /mnt
这句话的意识是把你的cd驱动器挂载到文件系统/mnt下面
iso9660是标准的cd文件格式,它告诉mount命令,我要
挂载的是一个标准的cd。
如果不执行这个命令,你就算是把cd放入到cd驱动器中,在
linux系统中,你也是看不到你的cd盘中的内容的。
这个命令执行完了后,你就可以在/mnt下面看到你的cd驱动
器中的cd里面的文件了。
执行和这个命令之前,要在cd上指定源文件,如下图,挂载后,打开/mnt/Package就可以找到很多安装文件了
1
2
3
4
5
6
7
8
9
10
4.yum指令
指令:配置仓库(特别强调,下面的guanpan.repo的后缀不能改,写多一个s,yum都会找不到仓库),配置仓库在/etc/yum.repos.d目录下
–linux下编辑
[root@localhost /]# cd /etc/yum.repos.d/ --跳到仓库服务器
[root@localhost yum.repos.d]# ls
packagekit-media.repo redhat.repo rhel-source.repo
[root@localhost yum.repos.d]# vi guanpan.repo --创建一个仓库
1
2
3
4
5
–guanpan.repos编辑如下
[guanpan]
name=rhel_6.8
baseurl=file:///mnt --file://代表协议,/mnt代表指定仓库路径
gpgcheck=1 --1代表检查签名
1
2
3
4
5
6
–linux下编辑
[root@localhost yum.repos.d]# yum clean all --运行clean all清理缓存初始化
Loaded plugins: product-id, refresh-packagekit, search-disabled-repos, security,
: subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: InstallMedia
Cleaning up Everything
–使用yum下载
[root@localhost yum.repos.d]# yum search telnet --插看有无telnet包
[root@localhost yum.repos.d]# yum install telnet --下载telnet包,发现没有签名
[root@localhost yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM* -加签名
[root@localhost yum.repos.d]# yum install telnet --再执行一次,成功执行
1
2
3
4
5
6
7
8
9
10
11
12
13
–linux下卸载
[root@localhost yum.repos.d]# yum remove telnet
1
2
4.0常见操作汇集
Q1.解压错误
如下
[root@Gris-11140 FMIS2600bak]# tar -zxvf /home/oradata/FMIS2600DMP.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
1
2
3
4
A1:解决方案:去掉z参数,使用 tar -xvf 解压正常
Q2.linux 下 新建目录/解压文件 自动加锁的解决办法
A2:在linux下,当我们将新下载的tar文件解压到一个新建文件或目录下,解压的文件会有自动上锁的情况,这个问题的解决方法就是用 sudo chmod 777 -R 文件或目录;执行上面这个命令需要root权限,su -,切换为root。
Q3:vim 修改文件出现错误“E45: ‘readonly’ option is set (add ! to override)”
A3:如果是root权限,可以:wq! 强行保存退出
Q4:查看后台进程是否起来了
A4:ps -ef|grep redis
– 我在另一个界面开了redis
[admin@localhost /]$ ps -ef|grep redis
root 3877 1 0 16:48 ? 00:00:00 ./redis-server 127.0.0.1:6379
root 3881 3826 0 16:49 pts/0 00:00:00 ./redis-cli
admin 3922 3908 0 16:54 pts/1 00:00:00 grep redis
– 我在另一个界面关了redis
[admin@localhost /]$ ps -ef|grep redis
admin 3924 3908 0 16:54 pts/1 00:00:00 grep redis
1
2
3
4
5
6
7
8
9
Q5:Linux连接redis客户端出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
A5:服务没起来执行
127.0.0.1:6379> --成功
127.0.0.1:6379> set su guowen
OK
127.0.0.1:6379> get su
“guowen”
127.0.0.1:6379> shutdown
not connected> exit
[root@localhost redis]#
1
2
3
4
5
6
7
8
9
10
11
12
13
Q6:linux下如何安装jdk配置环境变量
A6:链接https://www.cnblogs.com/liugh/p/6623530.html
Q7:linux下运行java文件
A7:
–vi Demo.java后会进入正常模式,按i进入编辑模式,输入java代码,按ESC返回正常模式,按:wq保存退出
[root@localhost file]# vi Demo.java
[root@localhost file]# javac Demo.java
[root@localhost file]# java Demo
Hello suguowen
[root@localhost file]#
1
2
3
4
5
6
7
Q8:linux如何下运行tomcat
A8:xftp拉linux版本的tomcat包到root的根目录,xshell登录root运行tar解压命令,进入到bin目录,./startup.sh运行即可,./shutdown.sh可以杀掉(如果linux里面有防火墙,需要添加8080端口可访问,然后重启防火墙才可以其他电脑访问)
Q9:linux发布一个项目
A9:
Q10:window10的telnet不是内部命令(安装telnet)
A10:控制面板->程序->程序和功能->启用或关闭windows功能->勾选 telnet客户端
https://jingyan.baidu.com/article/1e5468f9033a71484961b7d7.html
Q11:如何实现远程桌面功能
A11:被远程操作的电脑都需要如下设置,允许远程连接到此计算机;如果想远程别人,打开win+R输入mstsc,输入远程计算机的ip即可,如果别人设置了用户密码,也要获得账号密码才能进入(远程桌面用到了3389端口,linux远程别人用22端口)
Q12:如何远程了解到linux?
A12:使用XShell或者SecureCRT都可以,XShell只要知道linux的ip和一个用户的账号密码即可,SecureCRT要VMvare设置网络编辑器,在NAT模式设置端口转发,在桥接模式直接连就可以
Q13:如果实现端口转发?
A13:打开VMvare->编辑->虚拟网络编辑器->VMnet8 NAT模式->NAT设置->端口转发->添加->主机端口是可以随便填,虚拟机端口22不能改,填完确认应用一下即可
Q14:使用rpm安装软件
A14:打开Centos,在虚拟机的图标右击进入设置,如下配置使用rhel-server挂在进虚拟机
挂在完后,默认是在/media目录下响应的包,进入到/media/xxxx/Packages里面(xxx是你挂在的文件名),执行rpm -ivh xxx 即可安装xxx软件,执行rpm -e xxx即可卸载xxx软件
Q15:如何给linux传文件
A15:使用XFTP或者SFTP
Q16:YUM安装软件配置远程源
A16:用secureCRT远程连接虚拟机,/yum.repos.d配置源163.repo(举例),敲下图代码,http://就是配网络源文件
Q17:如果在linux使用mysql?
A17:
180 yum search mysql-server --寻找有没有mysql服务
181 yum install mysql-server --找到了就下载
182 mysql -uroot -p --尝试登陆,发现登陆失败,想想我们并没有开启mysql服务
183 service mysqld start --开启服务
184 mysql -uroot -p --登陆mysql
1
2
3
4
5
6
Q18:VMware虚拟机的设置无法进行编辑如何解决?
A18:https://jingyan.baidu.com/article/a17d5285c30a328098c8f2d4.html
答:一般是应为挂起了虚拟机没有关机,关机就可以编辑了
linux相关网络知识
路由器:
https://www.192ly.com/192-168-1-1/what-is-the-address-192-168-1-1.html
个人理解:家里不装路由器结果就是你只能一台电脑上网,装了可以多台电脑上网
百度理解:是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号
图解:120.230.101.47是移动给我们发的公网ip,只有一个,如果没有路由,我们就只能用一台电脑用这个ip来上网,而如果有路由器,它就会给路由器设定一个私网ip192.168.1.1,给其他电脑设定ip范围192.168.1.0~192.168.1.255之间唯一随意取一个,当我们用192.168.1.101这个ip访问一个链接比如百度的时候(发送一个包,这个包包含三个部分如下图右),路由会用公网ip替换掉我们的私有ip,再把包发出去,所以私有ip只是在我们内部使用,别人是不知道的。路由器发挥了NAT能力,即net address translate–地址转换
Vmvare:
https://www.cnblogs.com/feifei-cyj/p/7686166.html
Nat模式:虚拟机的ip可以访问本机ip提供的服务,但是本机ip不能接受虚拟机提供的服务
桥接模式:虚拟机跟本机同一个网段,可以互通
Nat模式下,让别人访问到自己
1.正常情况下,本机无法访问虚拟机ip,但我们设置转发器即可
SSH服务
安装套接字
挂载的概念
一个分区需要有一个文件夹与之对应
https://zhidao.baidu.com/question/55617971.html
OneNote上的笔记,会跟前面有重复
1.终端的概念
2.shell的概念
3.几个技巧
tab:代码补全
Ctrl+c:停止程序,相当于重开终端
4.查看用户
5.添加用户
密码不可见
6.切换用户
7.查看用户组(sudo是最高权限组)
8.为hello添加到sudo权限组
9.删除用户
10查看文件权限
11.创建文件
12.更改文件所有者7
11.查看当前路径
12相对路径跳转
13.使用绝对路径
14跳转回home
15.新建文件
16.mkdir新建目录
17.cp复制文件到指定地方
18.cp复制目录并改名
19.rm删除文件
20.rm -r删除目录
21.mv改名
作者:Gwen小苏
来源:CSDN
原文:https://blog.csdn.net/qq_38056704/article/details/82027200