Monday, December 18, 2017

SSH常用命令

在SSH下常用的命令:

1. 基础命令

A.显示文件源代码
cat kusys.php
没错, cat 是一个常用查看源代码的命令,优点是很方便很可爱,缺点是会直接刷刷刷显示所有源代码,文件太长只能看到屁股后面的那坨代码

B. 查看当前目录
pwd
pwd不是passwd,而是查看当前目录,会输出完整的路径。

C. 更改目录 Change Directory (cd)
cd /path/to/directory/
有DOS基础的同学应该会淫荡的一笑吧,路径可以用相对也可以用绝对。

D. 列出文件/子目录 Listing Files/SubFolders(ls)
ls
默认只显示文件名,你也可以带个参数玩,比如:
ls -alh
-a显示全部文件
-l比较详细的列表
-h人类能看懂的比如把1024显示为1K

E.帮助
命令 --help
任何命令后面带一个 –help 都会显示一个简洁版的帮助,记不住参数就查一下,全英文,很崩溃

F.获取远程文件 wget
wget http://blog.kusys.com/move/ly-bo1.wmv
就会获取远程的ly-bo1.wmv文件到当前目 录,一般搬家的时候用这个
让服务器去获取另一个服务器的数据,速度会快的完全不像男人

G.压缩解压缩
unzip wordpress.zip
如果文件是zip形式的,比如刚从wordpress主站wget了一个压缩包过来,只需要输入unzip 文件名,就可以解压缩到当前目录了

tar -czvf kusys.tar.gz *
把当前目录所有文件以tar命令打包为kusys.tar.gz文件
-c创建
-z用gzip压缩方式
-v显示压缩过程
-f不是很理解这个参数,但所有的教程都要求这个
tar -xzvf kusys.tar.gz
解压缩 kusys.tar.gz 里的文件到当前目录


2. 文件系统命令

A.显示磁盘使用率
df
显示整个主机的总容量以及比率

B.列表文件/子目录使用率 (du)
du
会列出所有文件以及子目录的大小,不是人看的…
du -sh
-s就是summary,只输出当前文件夹总容量
-h一般在linux就是human给人看的意思,会把1048580b转换为1mb显示
du -h --max-depth=1
嘿,只列出当前文件夹和第一级子目录占用大小

C.删除文件 Remove files (rm) 少儿不宜的命令,总是需要确认
rm -vf kusys.tar.gz
强制删除kusys.tar.gz这个文件并不需确 认,列出删除文件列表

强制删除,不要执行,除非你知道你在干嘛…
-v一般v参数都是显示过程的意思
-f 强奸的单词会不会拼? F-U-C-K的缩写,不确认直接F了
rm -rf kusys
删除kusys这个文件夹,包含它的子文件和子文件夹

删除文件用上面的命令,但删除文件夹的时候就需要归递
-r在大多数命令里都是recursive的意思

D. 拷贝文件 (cp)
cp [-adfilprsu] 来源档(source) 目标档(destination)
bash-3.2$ cp -r blog/* /backups/
将blog目录下的所有文件cp到backups
bash-3.2$ cp -r blog/ /backups/
将blog目录cp到backups

-a:相当于-pdr 的意思,至于pdr 请参考下列说明(常用)
-d:若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身
-f:为强制(force)的意思,若目标档案已经存在且无法开启,则移除后再尝试一次
-i:若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档建立,而非复制档案本身
-p:连同档案的属性一起复制过去,而非使用预设属性(备份常用)
-r:递归持续复制,用于目录的复制行为;(常用)
-s:复制成为符号连结文件(symbolic link),亦即『快捷方式』档案
-u:若destination 比source 旧才更新destination
最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行

E. 移动文件/重命名 (mv)
mv [-fiu] source destination
与cp用法差不多,注意参数就可以了

-f:force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖
-i:若目标档案 (destination) 已经存在时,就会询问是否覆盖
-u:若目标档案已经存在,且 source 比较新,才会更新 (update)

3. 文件权限

A. 更改文件权限 (chmod)
chmod 777 kusys.com
默认文件为644,文件夹为755

TIP:
1st digit=Owner; 2nd=Group; 3rd=Other
(-rwxrwxwrx = 777, -rwxr-xr-x = 755, -rw-r–r– = 644, etc.)
7 = Read + Write + Execute
6 = Read + Write
5 = Read + Execute
4 = Read
3 = Write + Execute
2 = Write
1 = Execute
0 = All access denied

4. 高级命令

A. 查找.find

find / -name ‘test*’      (寻找档案名包含test )
find / -name testing (查找testing文件)

常用命令,让我们来找一下10MB以上的文件吧

find . -type f -size +10000k -exec ls -lh {} ; | awk '{ print $5 ": " $9 }' |sort -n

C. 分页 (Less/More)
less kusys.php
如果源代码很长,则会分页显示,上下箭头滚动,输入q退出
tail -n 1000 /var/log/httpd/error_log | more
可以用 | more 参数来滚动显示页面或行

5. MySQL/MariaDB数据库

导出数据库
mysqldump -u 数据库用户名 -p 数据库名 > db_kusys.sql
导出数据库为db_kusys.sql

导入数据库
mysql -u 数据库用户名 -p 数据库名 < db_kusys.sql --default-character-set=utf8
把当前目录的 db_kusys.sql 以 utf8 编码导入,当然你原来是gbk就改成gbk

Leave a Reply

Your email address will not be published. Required fields are marked *