基本操作
基本操作
1 > . ls (横向查看目录) ll(竖排查看目录)
2 > . mkdir (创建文件夹)
3 > . cd 文件夹名 (进入该文件夹) cd . . (返回上一级目录)
4 > . rm 文件/ 夹名 (删除,可以接- f忽略不存在的文件,- i互动模式,- r递归删除会有危险。这是删除文件)(- rf才是删除文件夹)
5 > . mv 文件/ 夹名(移动文件, - f 强制移动直接覆盖文件,- i会询问,- u若存在且比目标文件新,才会覆盖)
6 > . pwd(查看当前工作目录, - p显示实际路径)
7 > . df - h ( 查看云服务器的内存)
8 > . free - h (查看云服务器的运行内存)
9 > . clear命令或Ctrl + L 来清空屏幕(并不是真正意义上的清空,上滑还是能看到,刷新屏幕)
10 > . su 这个命令是用在需要进入root用户,输入这个命令后回车输入密码回车就可以进入root用户了
docker 常用命令
前提:你的服务器已经安装了docker
1 > . 首先在一个目录下需要有个dockerfile文件,和你需要打包的jar包
2 > . docker build - t sync: 1.0 . (sync是你给容器取得名字,1.0 是版本号,后面有个点不能省略)
3 > . docker save - o / usr/ local/ sync. tar sync: 1.0 (把上面的镜像sync: 1.0 打包到/ usr/ local/ 下,名字为sync. tar)
4 > . 在/ usr/ local文件夹下面docker load -- input sync. tar (导入镜像)
5 > . docker run - d -- name sync sync: 1.0 (sync为你这个镜像的名称,sync:1.0 是你上面的这个版本,还有很多写法,请自行百度)
6 > . 后续更新,需要先停止原来的
docker stop sync (停止容器)
docker rm sync (删除容器)
docker images (查看docker的所有镜像,我们可以看到镜像id)
docker rmi aaa (删除我们的这个镜像, aaa为IMAGE ID )
然后重复上面的步骤,就可更新
关于上传项目及运行的命令
关于上传项目及运行的命令
1 > . tar - zxvf 文件名(解压tar. gz的文件)
2 > . rz (上传文件) rz - bye (覆盖上传)
3 > . sz (下载文件,有的系统可能没有这个命令,需要去下载这个功能)
4 > . ps - ef| grep java ( 查看进程)
5 > . kill - 9 进程号 (杀死已经在运行的进程号)
6 > . nohup java - jar personal- 0.0 .1 - SNAPSHOT . jar > console. log 2 > & 1 & (运行项目已经把打印日志放在console. log里面)
7 > . tail - f - n500 console. log (打印完整日志)
关于MySQL
关于MySQL ,
1 > . mysql - h localhost - u 用户名 - p ( 回车,然后他会让你输密码)
2 > . show databases ( 显示所有的数据库)
3 > . use 表名 ( 使用该数据库)
4 > . show tables ( 显示数据表)
5 > . describe 表名( 显示表机构)
6 > . exit (退出数据库)
linux 修改文件内容命令
linux 修改文件内容命令步骤
1 > . vim 文件名 (进入该文件)
2 > . shift+ “:” (使文件变成可查询状态)
3 > . 输入 / + 查询内容 (查找内容)
4 > . 找到位置后修改:按键盘 i 键 即变成可编辑状态
5 > . 修改文件内容后退出:按ESC 键
6 > . shift+ “: ” 后在输入wq! (保存修改,注意,感叹号也要加)
7 > . shift+ “: ” 后在输入q!(不保存修改,注意,感叹号也要加)
进阶版
一、基本命令
uname - m 显示机器的处理器架构
uname - r 显示正在使用的内核版本
dmidecode - q 显示硬件系统部件
( SMBIOS / DMI ) hdparm - i / dev/ hda 罗列一个磁盘的架构特性
hdparm - tT / dev/ sda 在磁盘上执行测试性读取操作系统信息
arch 显示机器的处理器架构
uname - m 显示机器的处理器架构
uname - r 显示正在使用的内核版本
dmidecode - q 显示硬件系统部件 - ( SMBIOS / DMI )
hdparm - i / dev/ hda 罗列一个磁盘的架构特性
hdparm - tT / dev/ sda 在磁盘上执行测试性读取操作
cat / proc/ cpuinfo 显示CPU info的信息
cat / proc/ interrupts 显示中断
cat / proc/ meminfo 校验内存使用
cat / proc/ swaps 显示哪些swap被使用
cat / proc/ version 显示内核的版本
cat / proc/ net/ dev 显示网络适配器及统计
cat / proc/ mounts 显示已加载的文件系统
lspci - tv 罗列 PCI 设备
lsusb - tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007 年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年. 秒
clock - w 将时间修改保存到 BIOS
二、关机
shutdown - h now 关闭系统( 1 )
init 0 关闭系统( 2 )
telinit 0 关闭系统( 3 )
shutdown - h hours: minutes & 按预定时间关闭系统
shutdown - c 取消按预定时间关闭系统
shutdown - r now 重启( 1 )
reboot 重启( 2 )
logout 注销
三、文件和目录
cd / home 进入 '/ home' 目录'
cd . . 返回上一级目录
cd . . /. . 返回上两级目录
cd 进入个人的主目录
cd ~ user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls - F 查看目录中的文件
ls - l 显示文件和目录的详细资料
ls - a 显示隐藏文件
ls [ 0 - 9 ] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构( 1 )
lstree 显示文件和目录由根目录开始的树形结构( 2 )
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir - p / tmp/ dir1/ dir2 创建一个目录树
rm - f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm - rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm - rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/ 移动 一个目录
cp file1 file2 复制一个文件
cp dir
cp - a / tmp/ dir1 . 复制一个目录到当前工作目录
cp - a dir1 dir2 复制一个目录
ln - s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch - t 0712250000 file1 修改一个文件或目录的时间戳 - ( YYMMDDhhmm )
file file1 outputs the mime type of the file as text
iconv - l 列出已知的编码
iconv - f fromEncoding - t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . - maxdepth 1 - name * . jpg - print - exec convert "{}" - resize 80 x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory ( requires convert from Imagemagick )
四、文件搜索
find / - name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / - user user1 搜索属于用户 'user1' 的文件和目录
find / home/ user1 - name * . bin 在目录 '/ home/ user1' 中搜索带有' . bin' 结尾的文件
find / usr/ bin - type f - atime + 100 搜索在过去100 天内未被使用过的执行文件
find / usr/ bin - type f - mtime - 10 搜索在10 天内被创建或者修改过的文件
find / - name * . rpm - exec chmod 755 '{}' ; 搜索以 '.rpm' 结尾的文件并定义其权限
find / - xdev - name * . rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate * . ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
五、挂载一个文件系统
mount / dev/ hda2 / mnt/ hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/ hda2' 已经存在
umount / dev/ hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/ hda2' 退出
fuser - km / mnt/ hda2 当设备繁忙时强制卸载
umount - n / mnt/ hda2 运行卸载操作而不写入 / etc/ mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount / dev/ fd0 / mnt/ floppy 挂载一个软盘
mount / dev/ cdrom / mnt/ cdrom 挂载一个cdrom或dvdrom
mount / dev/ hdc / mnt/ cdrecorder 挂载一个cdrw或dvdrom
mount / dev/ hdb / mnt/ cdrecorder 挂载一个cdrw或dvdrom
mount - o loop file. iso / mnt/ cdrom 挂载一个文件或ISO 镜像文件
mount - t vfat / dev/ hda5 / mnt/ hda5 挂载一个Windows FAT32 文件系统
mount / dev/ sda1 / mnt/ usbdisk 挂载一个usb 捷盘或闪存设备
mount - t smbfs - o username= user, password= pass
六、磁盘空间
df - h 显示已经挂载的分区列表
ls - lSr | more 以尺寸大小排列文件和目录
du - sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
du - sk * | sort - rn 以容量大小为依据依次显示文件和目录的大小
rpm - q - a -- qf '% 10 { SIZE } t% { NAME } n' | sort - k1, 1 n 以大小为依据依次显示已安装的rpm包所使用的空间 ( fedora, redhat类系统)
七、用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod - n new_group_name old_group_name 重命名一个用户组
useradd - c "Name Surname " - g admin - d / home/ user1 - s / bin/ bash user1 创建一个属于 "admin" 用户组的用户
useradd user1 创建一个新用户
userdel - r user1 删除一个用户 ( '-r' 排除主目录)
usermod - c "User FTP" - g system - d / ftp/ user1 - s / bin/ nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 ( 只允许root执行)
chage - E 2005 - 12 - 31 user1 设置用户口令的失效期限
pwck 检查 '/ etc/ passwd' 的文件格式和语法修正以及存在的用户
grpck 检查 '/ etc/ passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
八、文件的权限 使用 “+” 设置权限,使用 “-” 用于取消
ls - lh 显示权限
ls / tmp | pr - T5 - W $COLUMNS 将终端划分成5 栏显示
chmod ugo+ rwx directory1 设置目录的所有人( u) 、群组( g) 以及其他人( o) 以读(r )、写( w) 和执行( x) 的权限
chmod go- rwx directory1 删除群组( g) 与其他人( o) 对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown - R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1: group1 file1 改变一个文件的所有人和群组属性
find / - perm - u+ s 罗列一个系统中所有使用了SUID 控制的文件
chmod u+ s / bin/ file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u- s / bin/ file1 禁用一个二进制文件的 SUID 位
chmod g+ s / home/ public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g- s / home/ public 禁用一个目录的 SGID 位
chmod o+ t / home/ public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o- t / home/ public 禁用一个目录的 STIKY 位
chmod + x 文件路径 为所有者、所属组和其他用户添加执行的权限
chmod - x 文件路径 为所有者、所属组和其他用户删除执行的权限
chmod u+ x 文件路径 为所有者添加执行的权限
chmod g+ x 文件路径 为所属组添加执行的权限
chmod o+ x 文件路径 为其他用户添加执行的权限
chmod ug+ x 文件路径 为所有者、所属组添加执行的权限
chmod = wx 文件路径 为所有者、所属组和其他用户添加写、执行的权限,取消读权限
chmod ug= wx 文件路径 为所有者、所属组添加写、执行的权限,取消读权限
九、文件的特殊属性 ,使用 “+” 设置权限,使用 “-” 用于取消
chattr + a file1 只允许以追加方式读写文件
chattr + c file1 允许这个文件能被内核自动压缩/ 解压
chattr + d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr + i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr + s file1 允许一个文件被安全地删除
chattr + S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr + u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性
十、打包和压缩文件
bunzip2 file1. bz2 解压一个叫做 'file1. bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1. gz 解压一个叫做 'file1. gz'的文件
gzip file1 压缩一个叫做 'file1' 的文件
gzip - 9 file1 最大程度压缩
rar a file1. rar test_file 创建一个叫做 'file1. rar' 的包
rar a file1. rar file1 file2 dir1 同时压缩 'file1' , 'file2' 以及目录 'dir1'
rar x file1. rar 解压rar包
unrar x file1. rar 解压rar包
tar - cvf archive. tar file1 创建一个非压缩的 tarball
tar - cvf archive. tar file1 file2 dir1 创建一个包含了 'file1' , 'file2' 以及 'dir1' 的档案文件
tar - tf archive. tar 显示一个包中的内容
tar - xvf archive. tar 释放一个包
tar - xvf archive. tar - C / tmp 将压缩包释放到 / tmp目录下
tar - cvfj archive. tar. bz2 dir1 创建一个bzip2格式的压缩包
tar - xvfj archive. tar. bz2 解压一个bzip2格式的压缩包
tar - cvfz archive. tar. gz dir1 创建一个gzip格式的压缩包
tar - xvfz archive. tar. gz 解压一个gzip格式的压缩包
zip file1. zip file1 创建一个zip格式的压缩包
zip - r file1. zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1. zip 解压一个zip格式压缩包
十一、RPM 包
rpm - ivh package . rpm 安装一个rpm包
rpm - ivh -- nodeeps package . rpm 安装一个rpm包而忽略依赖关系警告
rpm - U package . rpm 更新一个rpm包但不改变其配置文件
rpm - F package . rpm 更新一个确定已经安装的rpm包
rpm - e package_name. rpm 删除一个rpm包
rpm - qa 显示系统中所有已经安装的rpm包
rpm - qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm - qi package_name 获取一个已安装包的特殊信息
rpm - qg "System Environment/Daemons" 显示一个组件的rpm包
rpm - ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm - qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm - q package_name -- whatrequires 显示与一个rpm包存在依赖关系的列表
rpm - q package_name -- whatprovides 显示一个rpm包所占的体积
rpm - q package_name -- scripts 显示在安装/ 删除期间所执行的脚本l
rpm - q package_name -- changelog 显示一个rpm包的修改历史
rpm - qf / etc/ httpd/ conf/ httpd. conf 确认所给的文件由哪个rpm包所提供
rpm - qp package . rpm - l 显示由一个尚未安装的rpm包提供的文件列表
rpm -- import / media/ cdrom/ RPM - GPG - KEY 导入公钥数字证书
rpm -- checksig package . rpm 确认一个rpm包的完整性
rpm - qa gpg- pubkey 确认已安装的所有rpm包的完整性
rpm - V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5 检查以及最后修改时间
rpm - Va 检查系统中所有已安装的rpm包- 小心使用
rpm - Vp package . rpm 确认一个rpm包还未安装
rpm2cpio package . rpm | cpio -- extract -- make- directories bin 从一个rpm包运行可执行文件
rpm - ivh / usr/ src/ redhat/ RPMS / arch/ package . rpm 从一个rpm源码安装一个构建好的包
rpmbuild -- rebuild package_name. src. rpm 从一个rpm源码构建一个 rpm 包
十二、YUM 软件包升级器
yum install package_name 下载并安装一个rpm包
yum localinstall package_name. rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name. rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件
十三、deb 包
dpkg - i package . deb 安装/ 更新一个 deb 包
dpkg - r package_name 从系统删除一个 deb 包
dpkg - l 显示系统中所有已经安装的 deb 包
dpkg - l | grep httpd 显示所有名称中包含 "httpd" 字样的deb包
dpkg - s package_name 获得已经安装在系统中一个特殊包的信息
dpkg - L package_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg -- contents package . deb 显示尚未安装的一个包所提供的文件列表
dpkg - S / bin/ ping 确认所给的文件由哪个deb包提供
APT 软件工具 ( Debian , Ubuntu 以及类似系统)
apt- get install package_name 安装/ 更新一个 deb 包
apt- cdrom install package_name 从光盘安装/ 更新一个 deb 包
apt- get update 升级列表中的软件包
apt- get upgrade 升级所有已安装的软件
apt- get remove package_name 从系统删除一个deb包
apt- get check 确认依赖的软件仓库正确
apt- get clean 从下载的软件包中清理缓存
apt- cache search searched- package 返回包含所要搜索字符串的软件包名称
十四、查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head - 2 file1 查看一个文件的前两行
tail - 2 file1 查看一个文件的最后两行
tail - f / var / log/ messages 实时查看被添加到一个文件中的内容
十五、文本处理
cat file1 file2 . . . | command < > file1_in. txt_or_file1_out. txt general syntax for text manipulation using PIPE , STDIN and STDOUT
cat file1 | command ( sed, grep, awk, grep, etc. . . ) > result. txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1 | command ( sed, grep, awk, grep, etc. . . ) >> result. txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug / var / log/ messages 在文件 '/ var / log/ messages'中查找关键词"Aug"
grep ^ Aug / var / log/ messages 在文件 '/ var / log/ messages'中查找以"Aug" 开始的词汇
grep [ 0 - 9 ] / var / log/ messages 选择 '/ var / log/ messages' 文件中所有包含数字的行
grep Aug - R / var / log0 / g' example. txt 用单个零替换多个零
cat - n file1 标示文件的行数
cat example. txt | awk 'NR % 2 == 1 ' 删除example. txt文件中的所有偶数行
echo a b c | awk '{ print $1 } ' 查看一行第一栏
echo a b c | awk '{ print 1 , 3 } ' 查看一行的第一和第三栏
paste file1 file2 合并两个文件或两栏的内容
paste - d '+' file1 file2 合并两个文件或两栏的内容,中间用"+" 区分
sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集( 重复的行只保留一份)
sort file1 file2 | uniq - u 删除交集,留下其他的行
sort file1 file2 | uniq - d 取出两个文件的交集( 只留下同时存在于两个文件中的文件)
comm - 1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
comm - 2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
comm - 3 file1 file2 比较两个文件的内容只删除两个文件共有的部分
十六、查找
find . - nameliuyazhuang查找当前目录下名称中含有"liuyazhuang" 的文件
find / - name * . conf 查找根目录下(整个硬盘)下后缀为. conf 的文件
find / - perm 777 查找所有权限是 777 的文件
find / - type d 返回根目录下所有的目录
find . - name "a*" - exec ls - l { } ;
find 功能:用来寻找文件或目录。
格式:find [ < 路径> ] [ 匹配条件]
find / - name httpd. conf 搜索系统根目录下名为 httpd. conf 的文件
十七、VIM 模式
1 )命令模式(常规模式)
vim 启动后,默认进入命令模式,任何模式都可以通过 esc 键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。
命名模式常用命令如下:
i : 在光标前插入文本;
o: 在当前行的下面插入新行;
dd: 删除整行;
yy:将当前行的内容放入缓冲区(复制当前行)
n+ yy : 将 n 行的内容放入缓冲区(复制 n 行)
p: 将缓冲区中的文本放入光标后(粘贴)
u:撤销上一个操作
r: 替换当前字符
/ 查找关键字
2 )插入模式
在命令模式下按 " i " 键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用 esc 键可以返回命令模式。
3 )ex 模式
在命令模式中按" : " 键可以进入 ex 模式,光标会移动到底部,在这里可以保存修改或退出 vim.
ext 模式常用命令如下:
: w :保存当前的修改
: q :退出
: q! :强制退出,保存修改
: x : 保存并退出,相当于: wq
: set number 显示行号
: ! 系统命令 执行一个系统命令并显示结果
: sh :切换到命令行,使用 ctrl+ d 切换回 vim