常用Linux命令:cd, cp, ls, mkdir, mv, rm, su, uname

 

cd命令:切换当前工作目录至
dirName(目录参数)

其中 dirName 可为绝对路径或相对路径。若目录名称省略,则变换至使用者的
home 目录 (也就是刚 login 时所在的目录)。

另外,”~” 也表示为 home 目录的意思,”.” 则是表示目前所在的目录,”..”
则表示目前目录位置的上一层目录。

cd [dirName]

参数:

  • dirName:要切换的目标目录。

实例:

  跳到 /usr/bin/ :

cd /usr/bin

  跳到自己的 home 目录:

cd ~

  跳到目前目录的上上两层:

cd ../..

 

 

cp命令:复制文件或目录

cp [options] source dest

参数说明:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答”y”时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件

实例:

  使用指令”cp”将当前目录”test/”下的所有文件复制到新目录”newtest”下,输入如下命令:

cp –r test/ newtest

 

 

ls命令:列出目前工作目录所含的文件和子目录

 ls [-alrtAFR] [name]

参数 :

  • -a 显示所有文件及目录
    (ls内定将文件名或目录名称开头为”.”的视为隐藏档,不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
  • -R 若目录下有文件,则以下之文件亦皆依序列出

实例:

  列出根目录(/)下的所有目录:

ls /

  将 /bin 目录以下所有目录及文件详细资料列出 :

ls -lR /bin

 

 

mkdir命令:创建文件夹

mkdir [-p] dirName

参数说明:

  • -p 确保目录名称存在,不存在的就建一个。

实例:

  在工作目录下,建立一个名为 taotao 的子目录 :

mkdir taotao

  在工作目录下的 taotao 目录中,建立一个名为 data 的子目录。若 taotao
目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 taotao
目录不存在,则产生错误。)

mkdir -p taotao/data

 

 

mv命令:用来为文件或目录改名、或将文件或目录移入其它位置

mv [options] source dest
mv [options] source directory

参数说明:

  • -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
  • -f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

  mv参数设置与运行结果

命令格式 运行结果
mv 文件名 文件名 将源文件改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名

目标目录已存在,将源目录移动到目标目录;

目标目录不存在则改名

mv 目录名 文件名 出错

实例:

  将文件 taotao.txt 更名为 wulitaotao.txt : 

mv taotao.txt wulitaotao.txt

  将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。

mv info/ logs

  再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:

mv /usr/student/*  .

 

 

rm命令:删除一个文件或者目录

rm [options] name

参数:

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

实例:

  删除文件可以直接使用rm命令,若删除目录则必须配合选项”-r”,例如:

# rm  test.txt 
rm:是否删除 一般文件 "test.txt"? y  
# rm  homework  
rm: 无法删除目录"homework": 是一个目录  
# rm  -r  homework  
rm:是否删除 目录 "homework"? y 

  删除当前目录下的所有文件及目录,命令行为:

rm  -r  * 

 

 

su命令:用于变更为其他使用者的身份,除
root 外,需要键入该使用者的密码

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

参数说明:

  • -f 或 –fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
  • -m -p 或 –preserve-environment 执行 su 时不改变环境变数
  • -c command 或 –command=command 变更为帐号为 USER
    的使用者并执行指令(command)后再变回原来使用者
  • -s shell 或 –shell=shell 指定要执行的 shell (bash csh tcsh
    等),预设值为 /etc/passwd 内的该使用者(USER) shell
  • –help 显示说明文件
  • –version 显示版本资讯
  • – -l 或 –login 这个参数加了之后,就好像是重新 login
    为该使用者一样,大部份环境变数(HOME SHELL
    USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定
    USER ,内定是 root
  • USER 欲变更的使用者帐号
  • ARG 传入新的 shell 参数

实例:

  变更帐号为 root 并在执行 ls 指令后退出变回原使用者

su -c ls root

  变更帐号为 root 并传入 -f 参数给新执行的 shell

su root -f

  变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)

su - clsung

  切换用户

hnlinux@w3cschool.cc:~$ whoami //显示当前用户
hnlinux
hnlinux@w3cschool.cc:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@w3cschool.cc:~$ su root //切换到root用户
密码: 
root@w3cschool.cc:/home/hnlinux# whoami 
root
root@w3cschool.cc:/home/hnlinux# pwd
/home/hnlinux

  切换用户,改变环境变量

hnlinux@w3cschool.cc:~$ whoami //显示当前用户
hnlinux
hnlinux@w3cschool.cc:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@w3cschool.cc:~$ su - root //切换到root用户
密码: 
root@w3cschool.cc:/home/hnlinux# whoami 
root
root@w3cschool.cc:/home/hnlinux# pwd //显示当前目录
/root

 

 

uname命令:用于显示系统信息

uname [-amnrsv][--help][--version]

参数说明:

  • -a或–all  显示全部的信息。
  • -m或–machine  显示电脑类型。
  • -n或-nodename  显示在网络上的主机名称。
  • -r或–release  显示操作系统的发行编号。
  • -s或–sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • –help  显示帮助。
  • –version  显示版本信息。

实例:

  显示系统信息:

# uname -a
Linux snail-hnlinux 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux

  显示计算机类型:

# uname -m
i686

  显示计算机名:

# uname -n
snail-hnlinux

  显示操作系统发行编号:

# uname -r
2.6.32-21-generic

  显示操作系统名称:

# uname -s
Linux

  显示系统时间:

# uname -v
#32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2014

 

 

 

 

错误情况:

References

菜鸟教程:Linux命令大全 

 

前言

对于我们运维来说,在mysql数据库领域,别的不说,最起码要会两大技能!

第一大技能:备份与还原

第二大技能:主从异步

关于这两大技能我们先来说说第一个

AH00558: apache2: Could not reliably determine the server’s fully
qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive
globally to suppress this message 

备份与还原

备份:我们按时定点来备份数据,当下数据最值钱,所以我们要确保数据的安全。

平常我们都是7天一大备,三天两头一小备,也就是说,一周来一个完全备份,1、2、天来一个增量或差异备份。

确保那天服务器宕机或误操作,能恢复过来。

还原:当服务器负重过量会导致宕机,或有时候我们误操作,删除了某张重要的数据表等等,这时候就要用到我们之前备份的数据来恢复。

简单说下备份的类型,

冷备:读写操作均不可进行

温备:读操作可执行;但写操作不可执行

热备:读写操作均可执行

MyISAM:温备,不支持热备
InnoDB: 都支持

简单说下常用的备份工具,

LVM的快照:先加锁,做快照后解锁,几乎热备;借助文件系统工具进行备份

mysqldump:逻辑备份工具,适用所有存储引擎,温备;支持完全或部分备份;对InnoDB存储引擎支持热备,结合binlog的增量备份

xtrabackup:由Percona提供支持对InnoDB做热备(物理备份)的工具,支持完全备份、增量备份

备注:以上除了xtrabackup,都是基于完整备份包以及二进制日志来恢复数据库的,二进制日志记录了增删改语句的操作指令,拿过来重放,

 

建议:建议二进制日志和数据文件分开存放

1、关闭网络链接,只监听本地端口访问,(在备份还原的时候用)

skip-networking=1

2、禁止主机名解析,ip地址访问的时候,禁止反向解析(建议加上)

skip_name_resolve = on

3、每个表单独使用一个表空间存储表的数据和索引(建议加上)

innodb_file_per_table = on

4、开启并指定二进制文件存放位置

log_bin=/…

。。。

出现以上情况只要修改一下Apache的配置文件即可:

准备

1、准备两台主机,我用.17充当mysql主服务器,.57来还原用。

2、17主mysql数据库有以下几个表

图片 1

3、目录

/data/mysq/:下存放数据库数据

/app/logs/:下存放二进制日志

。。。

在配置文件 apache2.conf里面加入一行

实战

 ServerName localhost:80

备份阶段

 然后重启Apache服务就可以了

1、完全备份

mysqldump -pcentos -A -F --master-data=2 --single-transaction |gzip > /data/all-`date +%F`.sql.gz

备注:

-A:备份全部数据库

-F:切换二进制日志

–master-data=2:记录了基于二进制那个位置备份的,这个点之后是新数据,备份结束点,主从改为1

–single-transaction:保证数据的一致性

sudo /etc/init.d/apache2 restart 

发表评论

电子邮件地址不会被公开。 必填项已用*标注