Linux基本命令

  https://jingyan.baidu.com/article/fc07f9894c8d3412ffe519a2.html

安装教程 centos 与vm;

pwd : 当前位置

ls     : 文件里有什么(list)文件列表

cd + 文件名 : 定位到那个文件夹(tab可以补全)

mkdir + 文件名  : 建立文件夹

rmdir + 文件名  :删除文件夹

cd ..  :回到上一级文件夹

cd /  :回到总的文件夹

ls -a  :列出文件在那一层

ls -l :列出文件详细目录,如果第一个字母是d,则表示是文件夹,如果是-,则表示是文件

date :日期

cal : 日历

 https://blog.csdn.net/yalishadaa/article/details/61198170 将cp操作的

cp -r +文件1+ 文件2 : 把文件1复制给文件2

cat +文件 :列出文件内容

https://blog.csdn.net/weixin_41168353/article/details/81879389 往文件里写入内容。

cat >> ./+文件 << EOF

一行内容

一行内容

EOF (表示输入内容完成)

diff + 文件1 + 文件2 :是否有不同内容。

clear :清空屏幕

head + 文件1 + -n + 一个数字 : 表示看前面几行。

tail 表示看后面几行。

wc + 文件1 : 看到行数,词数,字母数

wc + -w + 文件1 : 看词数

wc + -l + 文件1 : 看行数

wc + -c + 文件1 : 看字母数

rm + 文件 : 删除文件或目录

rm + -i + 文件 删除文件,会询问

touch + 文件1 : 新建文件 (可以建多个,用空格隔开即可)

mv + 文件1 + 文件2 :把文件1的名字改成文件2的名字,文件2的名字是不存在的。

mv + 文件1 + 文件夹 :把文件1放到文件夹。

less + 文件1 :可以滚动看文件的内容。按Q回到命令行

chmod :一个文件夹或文件前面的第一个字母是d表示是文件夹,是-表示是文件。然后后面三个字符串长度为3的字符串,分别表示user(u),group(g),others(o)的权限,

每项权限分别表示r可读w可写x可运行。

chmod + u-r + 文件1 : 去除user的可读权限。u+r就是加上。-就是减去(u那个地方可以写多个,ugo) (或者a+x 表示所有用户的的运行权限取消 )(a= 表示所有用户的所有权限都去掉)

chmod + 444 + 文件1 (4表示100,指只可以读,其他的一样)

grep + 单词名 + 文件1 : 查询文件里有没有这个单词。

grep + l* + 文件1 : 把文件中有l的地方颜色区分一下,l*所有文件内容都会出现,*表示有0到n个l,ll*只有存在l的才会显现出来。

grep + ^h + 文件1: 只有以h开头的单词才会显现出来

grep + h. + 文件1 :有h.就会显现出来,.可表示任何字符或字符串。

grep + [字符+字符] + 一串字符 + 文件1 : 显示存在那字符串的,方括号里面表示这个位置可以使左边的也可以使右边的。不能两个一起来。

grep + [a-zA-z] + 字符串 + 文件1 : 只要那个位置的字符是在a-z或者A-Z的都行。

在grep操作的后面加上 | wc 可以显示匹配出来的文件有多少行,多少个,多少个字符。

重定向操作 例如  ls > + 文件1 : 把用ls 文件应该输出的文件输入到文件1里面。

新建一个sh文件(脚本文件)然后输入sh + sh文件名即运行这个脚本文件。sh 文件里可以输入Linux的命令,如写一个cal输出日历,或者写一个echo + 一串字符,表示输出这个字符串。 

还有

a=2

b=10

c=`expr $a + $b`

 

echo $c

这段话表示输出a+b的值,赋值语句之间没有空格,运算是中间要有空格,在seq中的运算之间没有空格,赋值是变量前面不要用$,但是使用它是必须加一个$,里面的+号可以写成-, /, \*,乘号前面要加一个\。

https://blog.csdn.net/keeness/article/details/78507838 装gcc.

vim 进入一个文件,然后在里面写c程序

然后ctrl :;

然后wq保存并退出,然后按照上面的编译。

 

 

vim ~/.vimrc 进入根目录修改vim的配置信息

在里面加上 syntax on (加上颜色)

      set number (右边加上数字)

vim里面 hjkl (左上下右)(在字母前面加一个数字可以向左右上下跳多少行)w向前跳一个单词 b向后跳一个单词 

ctrl +  f 等于pagedown

ctrl + b 等于pageup

数字加gg (快速定位到某一行)esc退出

/加关键字 显示出所有的关键字,n向下一个单词,shift + n向上一个单词

 cc 剪切某一行,yy复制某一行,u表示undo。p粘贴,u表示undo

v表示进入visual模式

ctrl+ n自动补全(不太好)

ctrl + w换窗口

管道流操作 例如找某个文件里面内容是否有某个字符

cat a1.txt | grep oo (查a1.txt里面是否有oo这个字段)

ls | grep oo (查找ls列表里有没有oo这个字段)

whereis ls 找ls这个命令在那个文件里面。

echo + 字符串 + > + 文件名 表示吧那个字符串写入那个文件,>> 表示不覆盖,后面加上。

cat + 文件1 + 文件2 > 文件3 吧文件1与文件2的内容全部写入文件3

ls -l > /dev/null   (/dev/null 俗称Linux黑洞,可以吞掉很多东西)

 ll + 文件可以指定找那个文件。

ll + 文件名;+echo $? 表示找这个文件,并返回结果,0表示有这个文件。$?表示一个命令的返回值。

test + 文件名  也是找那个文件是不是存在。

 

shell脚本常用函数和命令(6)seq 详解
seq命令用于产生从某个数到另外一个数之间的所有整数。

1)语法:
1.seq [选项]... 尾数
2.seq [选项]... 首数 尾数
3.seq [选项]... 首数 增量 尾数

-f, --format=格式 使用printf 样式的浮点格式
-s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n)
-w, --equal-width 在列前添加0 使得宽度相同

2)实例:
 1.-f选项:指定格式
[root@controller1 ~]# seq -f "%5g" 1 5 
    1
    2
    3
    4
    5
%后面指定数字的位数 默认是%g,%3g那么数字位数不足部分是空格。

[root@controller1 ~]# seq -f "num%05g" 1 5
num00001
num00002
num00003
num00004
num00005
这样的话数字位数不足部分是0,%前面制定字符串。

2.-w选项:自动补齐输出数字同宽
[root@controller1 ~]# seq -w 98 103
098
099
100
101
102
103
不能和-f一起用,输出是同宽的。

3.-s选项:指定分隔符(默认是回车)
[root@controller1 ~]# seq -s "+" 1 9
1+2+3+4+5+6+7+8+9


4.指定\t做为分隔符号
[root@controller1 ~]# seq -s "$(echo -e "\t")" 1 9  
1       2       3       4       5       6       7       8       9


5.seq [选项]... 首数 增量 尾数
[root@controller1 dir001]# seq 0 5 20
0
5
10
15
20

6.循环数
[root@controller1 ~]#mkdir `seq -f "mydir%03g " 1 10`
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir001
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir002
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir003
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir004
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir005
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir006
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir007
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir008
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir009
drwxr-xr-x  2 root root         6 Jun 28 16:47 mydir010

 

Centos7安装并配置mysql5.6完美教程

 

Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息。然而,网上关于Linux安装mysql数据库的教程数不胜数,但是,大多教程都是漏洞百出。今天,为了帮助各位需要的人,从而写下Centos7安装配置mysql5.6的教程。好了,话不多说,上教程:

在接下来的mysql安装过程中,请一定保证自己当前所在目录是正确的! 

e g: [root@localhost ~]# 表示当前目录为~

[root@localhost mysql]# 表示当前目录为mysql

一、安装MySQL

1、下载安装包mysql-5.5.38-linux-glibc2.5-x86_64.tar(可前往官网自行下载:http://dev.mysql.com/downloads/mysql/)

     建议这个台大的FTP下载速度快,各个版本都有(http://ftp.ntu.edu.tw/MySQL/Downloads/

     (打开Linux的火狐浏览器下载,下载完后文件在桌面我的文档的下载里。注意不是在windows里下载,否则要从windows导入到linux,麻烦)

2、卸载系统自带的Mariadb


打开Terminal终端:

 

[plain] view plain copy
 
  1. [root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb  
  2. [root@localhost ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件  

 

 


3、删除etc目录下的my.cnf(若有则删,没有则忽略)

 

[plain] view plain copy
 
  1. [root@localhost ~]# rm /etc/my.cnf  

 

4、执行以下命令来创建mysql用户组

 

[plain] view plain copy
 
  1. [root@localhost ~]# groupadd mysql  

 

5、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

 

[plain] view plain copy
 
  1. [root@localhost ~]# useradd -g mysql mysql  

 

6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件  /usr/local/,或者通过界面拖动,拖入文件夹可能会涉及到权限问题,请百度搜索权限的解决方案)

     [root@localhost ~]# sudo chmod -R ugo+rw /DATA/SHARE/ (这个路径更改为你想移动至的文件夹的路径)

7、解压安装包(或者直接点击文件图标解压缩)

 

[plain] view plain copy
 
  1. [root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar  

 

注:如果压缩包为:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz,

 

[plain] view plain copy
 
  1. 则解压命令为: tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz  

 

8、将解压好的文件夹重命名为mysql

 

[plain] view plain copy
 
  1. [root@localhost local]# mv 解压出来的文件夹名 mysql  

 

9、在 etc 下新建配置文件my.cnf,并在该文件中添加一下代码:

 

当然,也有简单方式:直接copy一份my.cnf文件到/etc下,然后再修改即可。

e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf(可能是my-medium.cnf,随意一个都行然后改名)文件到/etc下

 

[plain] view plain copy
 
  1. 命令为:[root@localhost support-files]# cp my-default.cnf /etc/my.cnf  

 

然后,配置/etc目录下的my.cnf文件

 

[plain] view plain copy
 
  1. [root@localhost support-files]# vim /etc/my.cnf  

 

通过vim编辑器编辑my.cnf代码如下:

 

[plain] view plain copy
 
  1. [mysql]  
  2. # 设置mysql客户端默认字符集  
  3. default-character-set=utf8   
  4. socket=/var/lib/mysql/mysql.sock  
  5.   
  6. [mysqld]  
  7. skip-name-resolve  
  8. #设置3306端口  
  9. port = 3306   
  10. socket=/var/lib/mysql/mysql.sock  
  11. # 设置mysql的安装目录  
  12. basedir=/usr/local/mysql  
  13. # 设置mysql数据库的数据的存放目录  
  14. datadir=/usr/local/mysql/data  
  15. # 允许最大连接数  
  16. max_connections=200  
  17. # 服务端使用的字符集默认为8比特编码的latin1字符集  
  18. character-set-server=utf8  
  19. # 创建新表时将使用的默认存储引擎  
  20. default-storage-engine=INNODB  
  21. lower_case_table_name=1  
  22. max_allowed_packet=16M  

 

10、进入安装mysql软件目录

 

[plain] view plain copy
 
  1. [root@localhost ~]# cd /usr/local/mysql  
  2. [root@localhost mysql]# chown -R mysql:mysql ./       修改当前目录拥有着为mysql用户  
  3. [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库  

 

注:若执行以上最后一个命令出现以下问题:

 

[plain] view plain copy
 
  1. FATAL ERROR: please install the following Perl modules before executing   
  2. ./scripts/mysql_install_db:Data::Dumper  

 

解决方法 :安装autoconf库

 

[plain] view plain copy
 
  1. 命令: yum -y install autoconf   //此包安装时会安装Data:Dumper模块  
  2. 安装完成重新执行上述最后一个命令  

 

重新回到上述第三个命令继续操作:

 

[plain] view plain copy
 
  1. [root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户  

 

到此数据库安装完毕!

 

二、配置MySQL

1、授予my.cnf最大权限

 

[plain] view plain copy
 
  1. [root@localhost ~]# chown 777 /etc/my.cnf  

 

设置开机自启动服务控制脚本:

2、复制启动脚本到资源目录

 

[plain] view plain copy
 
  1. [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld  

 

3、增加mysqld服务控制脚本执行权限

 

[plain] view plain copy
 
  1. [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld  

 

4、将mysqld服务加入到系统服务

 

[plain] view plain copy
 
  1. [root@localhost mysql]# chkconfig --add mysqld  

 

5、检查mysqld服务是否已经生效

 

[plain] view plain copy
 
  1. [root@localhost mysql]# chkconfig --list mysqld  

 

命令输出类似下面的结果:

 

[plain] view plain copy
 
  1. mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  

 

表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止

 

[plain] view plain copy
 
  1. 命令为:service mysqld start和service mysqld stop  

 

6、启动mysqld(可能会遇到问题,若有问题删除/etc/my.cnf文件再试)

 

[plain] view plain copy
 
  1. [root@localhost mysql]# service mysqld start  

 

7、将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件

 

[plain] view plain copy
 
  1. [root@localhost mysql]# vim ~/.bash_profile  

 

在文件最下面export后补充添加如下信息:

 

[plain] view plain copy
 
  1. export PATH=$PATH:/usr/local/mysql/bin  

 

然后按ESC键

继续 shift键加冒号打出来=>  :

接下来输入wq回车即可

执行下面的命令是修改的内容立即生效:

 

[plain] view plain copy
 
  1. [root@localhost mysql]# source ~/.bash_profile  

 

上面有个问题:每次打开mysql都要source ~/.bash_profile。这样太麻烦,用下面的方法可以永久不用source:

在/etc/bashrc文件中打开,最后一行添加上 export PATH=$PATH:/usr/local/mysql/bin 即可

 

8、以root账户登录mysql,默认是没有密码的

 

[plain] view plain copy
 
  1. [root@localhost mysql]# mysql -uroot -p  

 

要输入密码的时候直接回车即可。

9、设置root账户密码为root(也可以修改成你要的密码)

 

[plain] view plain copy
 
  1. mysql>use mysql;  
  2. mysql>update user set password=password('root') where user='root' and host='localhost';  
  3. mysql>flush privileges;  

 

10、设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码

 

[plain] view plain copy
 
  1. mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH  
  2. GRANT OPTION;  

 

 

好了,到此,在Centos 7上安装mysql5.5就完成了。当然,centos 7上安装mysql也可按照如此操作。接下来,快去用Centos 7安装好的mysql去写写sql command吧!本人小白,第一次装mysql吃尽苦头,依靠百度才把难点逐个击破!

从此之后,打开终端

输入>service mysql start

输入>mysql -uroot -p

即可打开mysql了

 

gcc database.c -o database -lmysqlclient -L/usr/lib64/mysql.

 

posted @ 2019-03-11 01:01  downrainsun  阅读(208)  评论(0编辑  收藏  举报