Linux 的基本命令

Linux 的基本命令

1、 文件操作
a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C、D、E……盘,
每个盘都是一棵树。Linux 是单根的文件系统,不分 CDE 盘,多块硬盘/U 盘/光盘
也是相当于多个文件夹。不同硬盘/U 盘/光盘对应的文件夹叫做“挂载点”,把外
部存储设备放到文件系统树的过程又叫做“挂载(mount)”
b) Linux 下无论是文件还是命令都是大小写敏感的。

2、 小白说“文件夹”,专业人士说“目录”(Directory)

3、 Linux 常用根目录的作用:
1) boot 存放用于系统引导时使用的各种文件
2) bin 存放二进制可执行文件(ls,cat,mkdir 等)
3) sbin 存放二进制可执行文件,只有 root 才能访问
4) usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
5) opt 额外安装的可选应用程序包所放置的位置
6) dev 用于存放设备文件
7) etc 存放系统配置文件
8) home 存放所有用户文件的根目录
9) lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
10) tmp 用于存放各种临时文件
11) var 用于存放运行时需要改变数据的文件
12) mnt 安装临时文件系统的安装点
4、 常用文件操作命令:
 工作目录就是“当前目录”
 显示当前工作目录 pwd (print work directory)
 显示当前目录下的文件、目录 ls 或者 dir
 切换工作目录 cd (Change Directory):cd ./test 切换工作目录到当前目录下的 test目录(cd 后不       要忘了空格);cd .. 到上一级目录;cd /很显然就是返回根目录
 新建目录 mkdir (Make Directory):mkdir test 有的系统目录下是没有权限创建文
    件夹的。用户的文件一般放到 home 的自己的用户名下
 删除目录:rmdir (Remove Directory) 删除空目录;rm(Remove)删除文件或目录;rm -r
    testA 删除目录及其下所有文件(-r 就是 recursive 的简写。*坑人的指令:rm -rf /)。
 mv 移动文件
 cp 复制文件
 查看文本文件内容:cat(一下子全显示,适合小文件);
 more(分页显示,q 退出)
 查找文件:find -name 'a*' 在当前目录下查找文件名以 a 开始的文件。不要丢了''
5、 ps 查看当前用户当前运行的进程;查看所有运行中的进程 ps –ef
6、 reboot 重启
7、 shutdown -now 立即关机
8、 退出终端:exit
9、 clear 清理当前显示或者快捷键:ctrl+L
10、 上下键可以快速恢复历史命令。可以通过 tab 键完成当前目录下文件或者子目录的
自动填充,如果遇到多个前一部分一样的会自动完成一样的前一部分。ctrl+c 取消当前
输入的命令重新开始。
11、 tar 命令,将文件夹打包成一个文件,同时可进行压缩命令格式
打包 tar -c -f 归档文件 需要打包的文件
解开 tar -x -C 解开到指定目录 -f 归档文件
12、 man 命令,各个命令的手册,比如 man dir;按 q 退出。linux 命令非常多、参数非常多,只要会搜            就行,慢慢记住的越来越多。
13、 Linux 管道命令:一个软件或一个命令 要想完成一件事情,通常都需要输入原始数据 , 处理后 , 再把处理的结果输出到一个地方(保存到文件或者显示在屏幕上),Linux的管道是这样一个东西,它可以把上一个命令的处理结果作为下一个命令的输入数据,供下一个命令使用。例如:
1) ps -ef | grep bash
2) netstat -a | more
3) 因此 cat 1.txt|more 也可以达到 more 1.txt 的效果
14、 sudo:基于安全考虑,一般不建议使用超级用户权限登录 linux;而是平时使用低
权限用户访问,需要高权限的操作再用 sudo 后跟着指令。比如在/下无法创建文件夹,
但是 sudo mkdir a 就可以,当然需要输入密码。su 就是“super user”的简写,sudo 就
是“用超级用户权限执行命令”
 

VI 编辑器

1、VI 简介
如果使用 linux 桌面,也有一些图形化文本编辑器(类似于记事本),但 linux 的神级编
辑器是 vi,如果连 vi 都不会用就别说会用 linux。
在很多环境下是没有图形界面的,只能用 vi。VI 是全键盘操作,不能用鼠标。当然日常
开发还是在图形界面下使用 VS 等开发,使用 vi 一般是进行简单的修改或者配置文件的修改。
vi 刚接触感觉很痛苦,用熟了也挺爽的,vi 命令非常多,初学掌握基本的操作即可。vim
是 vi 的加强版。
2、vi 的运行模式  
命令模式下可以进行行删除等命令的输入(相当于快键键);插入模式下可以进行文本的输入;末行模式下是执行保存、退出等指令用。
易混:插入模式下如果直接输入:就是输入:了,因此要先 esc 退出插入模式,再: 末行模式的指令:
1):wq 保存然后退出 w→write,q→quit 如果是“vi 文件名”方式执行的,则直接写入到指定的文件名中,        否则要“:wq 文件名”。
2):q! 不保存退出
3):w 保存不退出
在末行模式中输入“!shell 指令”可以不离开 vi 执行 shell 指令
命令模式的命令
1) 移动输入光标,不能在插入模式下按上下左右键。要 esc 先回到命令模式下;
2) shift+^移到行首;shift +$移到行尾。联想一下正则表达式中就好记了;
3) ctrl+b:上滚一屏;ctrl+f 下滚一屏; b→backward;f→forward
4) dd:删除当前一行;x 删除当前字符
5) 撤销:上一次的操作 u;
6) o:在当前行下新增一行(因为如果移动到行尾再回车的话还是在最后一个字符前回
车)
7) i:在当前光标后面插入
 
还有一个傻瓜化字符界面编辑器 nano,底下提示信息中^X 的意思就是 ctrl+X。不是每个
Linux 上都安装 nano,有时候需要自己装。  

 

软件的安装

linux 下很多软件都是自己下载源代码、自己编译的,有点痛苦。因此很多发行版都有自己的安装包格式。比如 RedHat 使用*.rpm 的文件,Ubuntu 使用*.deb 文件。
自己查找、下载安装还是很麻烦。因此很多发行版中都提供了类似于应用市场、NuGet的东西。
Ubuntu 推荐使用 apt 进行下载、安装。会从 ubuntu 官网下载(中国区镜像),如果下载速度慢的话,可以设置从其他镜像下载,具体搜索“Ubuntu apt-get 镜像”
执行某些程序的时候,如果程序没安装,还会提示你,比如执行 vim、tree 等。
安装软件需要 sudo 执行。如下:
1) 安装 “sudo apt-get install 程序名”,比如“sudo apt-get install vim”
2) 卸载“sudo apt-get remove 程序名”
 

网络配置 

1、 使用 ifconfig 命令查看网络配置信息,查看 ip 地址和网卡物理地址(MAC 地址)

2、虚拟机和主机之间组建了一个局域网,虚拟机通过主机上网。虚拟机的设置的“网络”中可以设置不同的连接方式。主机可以通过 ifconfig 看到的 ip 地址连接虚拟机的网络。
3、虚拟机的网络连接方式有很多种,最主要有三种:HostOnly 、NAT、桥接(Bridge)。HostOnly配置较麻烦,需要懂很多网络工程的东西;NAT 是虚拟机借助于主机网卡访问网络,藏在主机后面,网络中其他设备不能这个虚拟机,连主机都不能,但是虚拟机能连接主机的网络,能上外网;桥接(Bridge)方式则是把虚拟主机也暴露为网络中的一个设备,主机和虚拟主机在网络内是平等的,可以互相访问,但是要求网络中没有设备访问的限制(比如 Mac 地址绑定或者终端个数限制),如果有限制要改路由器的配置。因为咱们需要主机和虚拟机互相访问,除非网络有限制,否则最好配置为桥接(Bridge),配置桥接(Bridge)要选择通过哪个网卡上外网,不能选错了,否则就无法访问外网了。后面我们都配置为桥接(Bridge)。
4、虚拟机的 ip 地址可能变化,注意。  
 

 

SSH 服务

讲运维人员是怎么远程连接到机房上的服务器,很少使用图形界面(卡,无法自动化)远程登录有专门的通信协议 telnet, telnet 就是通过网络进行命令行操作服务器。只有服务器端开始了远程登录服务,客户端才能通过 telnet 协议控制服务器端。但 telnet 协议使用明文传输数据,这会造成严重的安全性问题,所以现在几乎不推荐使用,而替代协议是 SSH。SSH 通讯过程数据是加密的。
Linux 安装使用 OpenSSH
 Ubuntu 默认只安装了客户端 openssh-client
 安装服务器: sudo apt-get install openssh-server
 查看服务器是否开启:netstat -tlp  
 启动 sudo /etc/init.d/ssh start
 重启 sudo /etc/init.d/ssh restart
 ssh 服务默认端口 22,可通过修改配置文件修改端口/etc/ssh/sshd_config

 

使用 mysql

1、安装 mysql 服务器
1) sudo apt-get install mysql-server
2) 根据提示设置 root 用户的密码,测试时候设置为 root
3) sudo apt-get isntall mysql-client 安装管理客户端
4) mysql -uroot -proot 通过管理 客户端连接 mysql,如果不报错就 ok
5) mysql 客户端中执行(不要在 shell 中直接执行)show databases;(不要丢了结尾的英文分号)查看有哪些数据库; 执行一下 select now();正确执行。
执行“quit;”退出 mysql 客户端。
6) 基于安全考虑,mysql 默认只能本机连接。如果想通过其他电脑连接(比如主机访
问虚拟机中的 mysql),就需要配置。最好不要配置成任意电脑都可以连接,因为危险。要配置成只允许某些 ip 访问。 
有权限,执行 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf。由于不同 mysql 版本配置文件的位置可能不一样,因此最好的找路径的方式就是 cd、dir 一级级的看看。(linux 下不同版本差异性很大,之前查资料都是改/etc/mysql /conf.d/mysql.cnf,但是使用 status;命令查询 mysql 版本之后搜索“mysql 5.7 远程访问”才找到正确的做法。)
2)把 bind-address = 127.0.0.1 注释掉。
3)执行 sudo /etc/init.d/mysql restart 重启 mysql 服务
4)在主机上执行 ipconfig,查看主机的 ip 地址是多少(别看错了,也别看成虚拟机的 ip),假
如是 192.168.0.11,那么就执行 
grant all privileges on *.* to root@"192.168.0.11" identified by "这里换成密码" with grant option;
再执行 flush privileges;
3、主机上连接虚拟机内的 mysql 一定要连接虚拟机的 ip,别连错了

猜你喜欢

转载自www.cnblogs.com/f-z-h/p/9560820.html