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终端:
- [root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb
- [root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
3、删除etc目录下的my.cnf(若有则删,没有则忽略)
- [root@localhost ~]# rm /etc/my.cnf
4、执行以下命令来创建mysql用户组
- [root@localhost ~]# groupadd mysql
5、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组
- [root@localhost ~]# useradd -g mysql mysql
6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件 /usr/local/,或者通过界面拖动,拖入文件夹可能会涉及到权限问题,请百度搜索权限的解决方案)
[root@localhost ~]# sudo chmod -R ugo+rw /DATA/SHARE/ (这个路径更改为你想移动至的文件夹的路径)
7、解压安装包(或者直接点击文件图标解压缩)
- [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,
- 则解压命令为: tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
8、将解压好的文件夹重命名为mysql
- [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下
- 命令为:[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
然后,配置/etc目录下的my.cnf文件
- [root@localhost support-files]# vim /etc/my.cnf
通过vim编辑器编辑my.cnf代码如下:
- [mysql]
- # 设置mysql客户端默认字符集
- default-character-set=utf8
- socket=/var/lib/mysql/mysql.sock
- [mysqld]
- skip-name-resolve
- #设置3306端口
- port = 3306
- socket=/var/lib/mysql/mysql.sock
- # 设置mysql的安装目录
- basedir=/usr/local/mysql
- # 设置mysql数据库的数据的存放目录
- datadir=/usr/local/mysql/data
- # 允许最大连接数
- max_connections=200
- # 服务端使用的字符集默认为8比特编码的latin1字符集
- character-set-server=utf8
- # 创建新表时将使用的默认存储引擎
- default-storage-engine=INNODB
- lower_case_table_name=1
- max_allowed_packet=16M
10、进入安装mysql软件目录
- [root@localhost ~]# cd /usr/local/mysql
- [root@localhost mysql]# chown -R mysql:mysql ./ 修改当前目录拥有着为mysql用户
- [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库
注:若执行以上最后一个命令出现以下问题:
- FATAL ERROR: please install the following Perl modules before executing
- ./scripts/mysql_install_db:Data::Dumper
解决方法 :安装autoconf库
- 命令: yum -y install autoconf //此包安装时会安装Data:Dumper模块
- 安装完成重新执行上述最后一个命令
重新回到上述第三个命令继续操作:
- [root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户
到此数据库安装完毕!
二、配置MySQL
1、授予my.cnf最大权限
- [root@localhost ~]# chown 777 /etc/my.cnf
设置开机自启动服务控制脚本:
2、复制启动脚本到资源目录
- [root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
3、增加mysqld服务控制脚本执行权限
- [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
4、将mysqld服务加入到系统服务
- [root@localhost mysql]# chkconfig --add mysqld
5、检查mysqld服务是否已经生效
- [root@localhost mysql]# chkconfig --list mysqld
命令输出类似下面的结果:
- mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
- 命令为:service mysqld start和service mysqld stop
6、启动mysqld(可能会遇到问题,若有问题删除/etc/my.cnf文件再试)
- [root@localhost mysql]# service mysqld start
7、将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
- [root@localhost mysql]# vim ~/.bash_profile
在文件最下面export后补充添加如下信息:
- export PATH=$PATH:/usr/local/mysql/bin
然后按ESC键
继续 shift键加冒号打出来=> :
接下来输入wq回车即可
执行下面的命令是修改的内容立即生效:
- [root@localhost mysql]# source ~/.bash_profile
上面有个问题:每次打开mysql都要source ~/.bash_profile。这样太麻烦,用下面的方法可以永久不用source:
在/etc/bashrc文件中打开,最后一行添加上 export PATH=$PATH:/usr/local/mysql/bin 即可
8、以root账户登录mysql,默认是没有密码的
- [root@localhost mysql]# mysql -uroot -p
要输入密码的时候直接回车即可。
9、设置root账户密码为root(也可以修改成你要的密码)
- mysql>use mysql;
- mysql>update user set password=password('root') where user='root' and host='localhost';
- mysql>flush privileges;
10、设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码
- mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH
- 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.