1.文件和目录
根目录:文件的起点,可以理解为Windows 中的C盘
Linux 的根目录是 '/'(只有一个根目录)
2.常用命令
1)pwd 查看当前所在目录路径(print work directory)
2)cd 切换路径(change directory) 使用的时候后面跟上要切换的路径。 cd 空格 路径
3)ls 查看当前路径下所有的目录和文件(list files)
ls -al
ll
4)mkdir 创建文件夹(make directory)
5)touch 创建文件 文件是不能cd的
创建文件或修改文件时间
用命令touch创建一个与源文件同名文件test,用法为touch test
源文件为test,现在要创建与源文件同名的test文件,比较发现前后test文件除了时间改变,其他权限属性都没有更改。这是因为新的test文件把源文件覆盖,文件被改动了,导致文件时间改变了,但是内容不会变。
6)绝对路径和相对路径
绝对路径:路径路径是以根目录开始,一层一层往下找路径。
. 当前目录
.. 返回上级目录
7)删除 rm(remove file) rmdir(删除空目录)
默认 rm 只能删除文件。 使用方式 rm 文件路径
-f, --force 强制删除文件,不会弹出确认提示。
-r 删除目录
-v 显示被删除的文件
8)文件重命名 mv(move file)
如果两个文件都存在,会询问会不会覆盖(注意)
mv 要修改的文件或文件夹 修改后的文件或文件夹
文件剪切 mv
注意: 文件夹不能剪切到文件中去。
9)复制文件 cp(cp file)
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
1.cp 文件名
2.cp -r 源目录名 目录名
10)查看文件
cat 文件路径(concatenate 连接) -n 或 --number:由 1 开始对所有输出的行数编号。
more 文件路径 (有进度)
more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)
+num 从第 num 行开始显示:
eg:从第 20 行开始显示 testfile 之文档内容。 more +20 testfile
less 文件路径
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。less也是按页显示,空格换页,可以向看过的内容自由浏览。
head -n 2 文件路径 查看文件的前2行内容。 head 文件路径 默认显示文件前10行
tail -n 2 文件路径 查看文件的最后2行内容。 tail 文件路径 默认显示文件后10行
注意 tail 还可以追踪文件,使用 -f 参数(查日志常用)
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
tail -f virtio_blk_affinity.log====》此命令显示 virtio_blk_affinity.log 文件的最后 10 行。当将某些行添加至 virtio_blk_affinity.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
11)find 搜索文件----是查文件名的。 比如: find / -name *lijin*(查找文件带有lijin的文件名)
如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 (直接打find,不加任何参数,会显示目录下所有子目录和文件,很多)
-name 文件名(通过*可以模糊查询) : 文件名称符合 name 的文件,*表示所有。
find后面要跟路径,视情况而定
数据库方式查找 locate
1. updatedb 更新本地数据索引
2. locate 搜索内容即可。
locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/yum/yumdb中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库。
12)查找可执行文件路径 which
如:which python
3.进阶命令
1)Vi,Vim编辑器
使用vi 命令可以打开一个文件,如果这个存在,可以看到文件中的内容,如果文件不存在,那么会自动创建一个新文件。
vi filename
进入到文件,现在还不能编辑。现在【一般命令模式】
• dd 删除光标所在行内容
• u 撤销操作
• x 删除当前光标所在位置的字符
• yy 复制1行内容
• p 将复制的内容粘贴到下一行
• ctrl+r 重做
• :set nu 显示行号
• nG n为具体的数字, 跳转到第n行
在文件中查找:/要查找的内容
查找并替换 :1,$s/ram1/hello/g
• 1,$s 从第1行开始到最后一行 $表示最后1行
• /ram1/hello 查找ram1 替换为hello
• /g 全局搜索
进入到【编辑模式】 按下 【a】或者【i】 (append,insert)
在编辑模式下可以输入内容。
进入到【命令模式】,按下【ESC】 (insert状态消失)
• :wq 保存并退出。
• :q! 强制退出不保存。
2)Linux 中的下载
wget(下载文件的地址)
使用方式:wget downloadurl # downloadurl 文件的下载地址
比如下载 禅道 wget http://dl.cnezsoft.com/zentao/12.3/ZenTaoPMS.12.3.stable.zbox_old.64.tar.gz
文件解压和压缩
Linux中常见的压缩文件tar, tar.gz 格式。
tar 创建归档文件和解压归档文件。
最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。
创建归档文件 -c 是表示产生新的包,-f 指定包的文件名
tar -cf 000.tar 01.log 02.log
将01.log, 02.log文件存放到 000.tar 归档文件
tar -cf all.tar *.jpg 这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包
查看归档文件中的内容
-t 列出文件的意思
-v 显示所有过程(会显示文件细节)
解压tar文件
tar -xf 000.tar -x解压 将000.tar文件解压。
gzip 压缩文件
gzip压缩tar文件。
gzip 000.tar ——————压缩之后,就是.gz格式的压缩包了
unzip 解压zip文件(压缩文件后缀名为.zip)
unzip不是Linux自带的命令,需要我们安装一下这个命令,安装方式为:yum install unzip -y
解压zip文件命令
unzip zip文件路径。
3)文件上传与下载
从Windows上传文件到Linux
1. 安装命令 lszrz
yum install lrzsz -y
上传本地(windows)文件到服务器
rz命令 可以上传 (rz 命令只能在xshell 中使用):rz打了之后,会跳转到选择需要上传的文件界面
rz命令本地(自己的windows)上传文件到服务器:
从服务器下载文件到本地(windows)
sz 要下载的文件路径 ————这个命令打完之后,会让你选择该文件存储到本地文件的位置
• scp:lrzsz只能用在xshell中应用,scp可以在cmd命令行执行
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
上传:scp 上传文件的本地路径 root@服务器ip地址:/tmp (有个冒号,一定要注意),是固定写法。
下载:
从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可
1.从服务器复制文件到本地:
scp root@49.234.89.81:/tmp/Testdata.csv /D:/lijin
root@192.168.1.100 root是目标服务器(有你需要拷贝文件的服务器)的用户名,192.168.1.100是IP地址,后面紧跟的 “:” 不要忘记,/data/test.txt(多文件还有test1.txt,test2.cpp,test3.bin,test.a,test.c等) 是目标服务器中你要拷贝文件的地址,接一个空格,后面的 /home/myfile/ 是本地接收文件的地址。
2.从服务器复制文件夹到本地:
只需在前面加 -r 即可,就可以拷贝整个文件夹
scp -r root@49.234.89.81:/tmp/Testdata.csv /D:/lijin
4)部署禅道
1. 看官网文档 安装文档: https://www.zentao.net/book/zentaopmshelp/90.html
2. 文档下载地址: https://www.zentao.net/dynamic/zentaopms12.3-80217.html
下载安装包
可以将文件下载到 /tmp。
cd /tmp
wget http://dl.cnezsoft.com/zentao/12.3/ZenTaoPMS.12.3.stable.zbox_old.64.tar.gz
解压文件到 /opt 目录下
[root@VM_0_16_centos tmp]# tar -xf ZenTaoPMS.12.3.stable.zbox_old.64.tar.gz -C /opt
启动禅道
[root@VM_0_16_centos tmp]# /opt/zbox/zbox start
Start Apache success
Start Mysql success
访问禅道
在浏览器中输入自己服务器的公网IP地址,
可以看到禅道的欢迎界面即可。
点击【开源版】
输入用户名和密码
禅道默认管理员帐号是 admin,密码 123456。登陆即可
netstat -anpt
/opt/zbox/zbox start 这两个命令很重要,关于禅道的打开
5)查看系统资源使用
top:Linux top命令用于实时显示 process 的动态。使用权限:所有使用者。
ps :ps -ef (显示所有命令,连带命令行) 查看所有的启动进程, 常和 | 管道命令 一起使用。
• | 将上一个命令执行结果传递给下一个命令
• grep 添加过滤条件,符合条件的数据显示出来。
ps aux 显示进程信息更多一些
kill 终止进程:后面跟上 进程ID (PID), PID的查看方式可以使用 top 或者 ps 命令查看
• -9 强制终止 -----跟上PID
• -1 重启
killall 终止进程
lsof • -i :80 查看80端口占用应用
6)用户管理
普通用户
root 用户可以再创建一些普通用户。
根用户:root 账户, 最高管理权限。
系统用户:系统运行时指定的必须有的用户,这个用户为系统用户。
查看用户信息:
• who
• whoami
• w 查看当前系统登陆的用户信息
新增用户
• useradd 用户名 添加新用户
• passwd 用户名 为用户修改密码
新建用户组
• groupadd 用户组名 创建新的用户组
• useradd -g 用户组名 用户名 (创建用户时指定用户组)
• 设置密码也是一样的
文件权限 ls -al 和 ll 一样(可以查用户权限)-- ls -al 查的更多(隐藏的也可以查)
r 4 读取
w 2 写入
x 1 可执行
7)配置Python环境
1. 从官方网站下载 python源码 https://www.python.org/downloads/release/python-382/
2. 将下载好的源码文件 上传到服务器。
1. 使用rz 命令上传。
2. 使用scp命令进行上传。scp 支持上传文件和下载文件;
3. 解压tgz 文件
4. 切换到Python-3.8.2 目录
5. 执行配置
./configure
如果配置有误:安装C编译器 以及其它环境
yum install -y gcc gcc-c++ zlib-devel
6. 重新执行 ./configure <配置>
7. 编译 执行 make 命令
make:编译完成。
8. 安装
make install
8)配置Java环境
rpm 安装方式。
1. 下载rpm 安装文件。 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2. 使用rpm 安装
rpm -ivh jdk-8u251-linux-x64.rpm
3. 检验Java是否安装成功
如果有输出,则表示 安装成功。
9)配置apache服务器
yum 安装
yum install -y httpd
在线自动下载安装。
启动apache 服务
service httpd start
启动失败
如果执行过程中发现 80端口被占用,使用lsof 查看被占用端口的情况
lsof -i:80
找到对应PID,使用kill 命令将其杀掉。
10)安装mysql
①mysql官网:https://www.mysql.com/,downloads(企业版和社区版)
②MySQL Community (GPL) Downloads ====> MySQL Community Server ====> Archives ====> 最新版本 ====>选择对应的linux的centos版本,下载
③通过lrzsz中的rz上传压缩包
④解压,然后检查linux中有没有mysql:rpm -qa|grep mysql,如果有,需要卸载
⑤然后安装依赖:yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel,可能还要安装perl。若有缺少,根据具体提示
⑥安装mysql,顺序:common====>lib====>client====>server(一般按照顺序安装这四个即可)
⑦配置:
初始化:mysqld --initialize --user=mysql
查看mysql日志,默认密码:cat /var/log/mysqld.log
启动mysql:systemctl start mysqld.service
关闭mysql:systemctl stop mysqld.service
登录账户名,密码:mysql -u root -p,然后输入密码
改密码:登录进mysql之后,alter user 'root'@'localhost' identified by 'rootroot'
查看默认端口号
1、登录mysql
[root@localhost ~]# mysql -uroot -p
Enter password: 输入数据库密码;
2、使用show global variables like 'port'; 命令查看端口号,
mysql> show global variables like 'port';
⑧navicat连接mysql报错:
10060:阿里云服务器打开3306安全组规则
1130:
服务器登录上mysql
>use mysql
>update user set host='%' where user='root';
>select host,user from user;
>flush privileges;
2059:
在navicat链接mysql8以后的版本时,会出现2059的错误,这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。本文采用第二种方式。ALTER USER 'root'@'%' IDENTIFIED BY 'rootroot' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'rootroot'; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
解决完这三个错误,就可以正常使用navicat登录了。