Linux 文件基本属性
chmod 777 .bashrc
[root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot ……
常用文件管理命令
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
软连接和硬链接
软链接:文件有类似于 Windows 的快捷方式
硬链接:一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
[oracle@Linux]$ touch f1 #创建一个测试文件f1 [oracle@Linux]$ ln f1 f2 #创建f1的一个硬连接文件f2 [oracle@Linux]$ ln -s f1 f3 #创建f1的一个符号连接文件f3 [oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息 total 0 9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1 9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2 9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
用户账号管理
增加
useradd –d /home/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。
删除
userdel -r sam
常用的选项是 -r,它的作用是把用户的主目录一起删除。
激活用户口令
passwd 选项 用户名
磁盘管理
df -h Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / /dev/hdc3 4.8G 139M 4.4G 4% /home /dev/hdc1 99M 11M 83M 12% /boot tmpfs 363M 0 363M 0% /dev/shm
yum常用命令
列出所有可更新的软件清单命令:yum check-update
更新所有软件命令:yum update
仅安装指定的软件命令:yum install <package_name>
仅更新指定的软件命令:yum update <package_name>
列出所有可安裝的软件清单命令:yum list
删除软件包命令:yum 删除<package_name>
查找软件包命令:yum search <关键字>
清除缓存命令:
yum clean packages
: 清除缓存目录下的软件包
yum clean headers
: 清除缓存目录下的 headers
yum clean oldheaders
: 清除缓存目录下旧的 headers
yum 干净, yum 干净所有 (= yum clean packages; yum clean oldheaders
) :清除缓存目录下的软件包及旧的标头
Linux apt 命令
apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt 命令执行需要超级管理员权限(root)。
sudo apt install mplayer
Shell 脚本
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
#!/bin/bash echo "Hello World !"
运行实例 »
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
实例
your_name="qinjx" echo $your_name echo ${your_name}
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:
your_name="runoob" # 使用双引号拼接 greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1 # 使用单引号拼接 greeting_2='hello, '$your_name' !' greeting_3='hello, ${your_name} !' echo $greeting_2 $greeting_3
传递参数
#!/bin/bash echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3"; $ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3
数组
#!/bin/bash # author:菜鸟教程 # url:www.runoob.com my_array=(A B "C" D) echo "第一个元素为: ${my_array[0]}" echo "第二个元素为: ${my_array[1]}" echo "第三个元素为: ${my_array[2]}" echo "第四个元素为: ${my_array[3]}"
基本运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):
实例
#!/bin/bash val=`expr 2 + 2` echo "两数之和为 : $val"
显示命令执行结果
echo `date`
$ echo "Hello, Shell" Hello, Shell $ printf "Hello, Shell\n" Hello, Shell $
字符串测试
num1="oob" num2="run" if test $num1 = $num2 then echo '两个字符串相等!' else echo '两个字符串不相等!' fi
多次做
echo '按下 <CTRL-D> 退出' echo -n '输入你最喜欢的网站名: ' while read FILM do echo "是的!$FILM 是一个好网站" done
函数
demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-----"
重定向
ls > txt
文件包含
被包含的文件 test1.sh 不需要可执行权限。
mysql
li1121567428
li1***567428@live.com
77
启动MySQL服务器程序,确认状态
1)启动MySQL服务程序
启动服务并查看状态:
[root@dbsvr1 pub]# service mysql start Starting MySQL… [确定] [root@dbsvr1 pub]# service mysql status MySQL running (31724) [确定]
服务器进程为mysqld,监听的默认端口为TCP 3306:
[root@dbsvr1 pub]# netstat -anpt | grep mysql tcp 0 0 :::3306 ::😗 LISTEN 31724/mysqld
2)查看MySQL服务器进程、运行用户
提供连接服务的进程为mysqld,由其父进程mysqld_safe启动。
[root@dbsvr1 pub]# ps -elf | grep mysqld 4 S root 31619 1 0 80 0 - 2834 wait 15:14 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid file=/var/lib/mysql/dbsvr1.tarena.com.pid 4 S mysql 31724 31619 0 80 0 - 252496 poll_s 15:14 pts/0 00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/dbsvr1.tarena.com.err --pid-file=/var/lib/mysql/dbsvr1.tarena.com.pid
数据库的默认存放位置为 /var/lib/mysql:
[root@dbsvr1 pub]# ls /var/lib/mysql/ auto.cnf ibdata1 mysql RPM_UPGRADE_HISTORY dbsvr1.tarena.com.err ib_logfile0 mysql.sock RPM_UPGRADE_MARKER-LAST dbsvr1.tarena.com.pid ib_logfile1 performance_schema test