常用命令
一.查找
1.find:
find / -name xxx (在根目录下查找文件xxx,“/”表示在整个硬盘查找)
2.which:
which xxx (会输出文件xxx所在的路径)
二.创建(文件,文件夹)
1.mkdir:
mkdir -p /tmp/dir1/dir2 创建一个目录树
mkdir -m 777 xxx 创建一个权限为777的文件夹xxx
mkdir xxx 创建当前目录下一个文件夹xxx
2.
三.删除,移动(文件,文件夹)
1.rm:(删除文件,文件夹)
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
2.mv:(移动)
mv dir1 new_dir 重命名/移动 一个目录
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
四.修改,复制(文件,文件夹,权限修改,属性更改)
1.cp 和 scp:(copy 和 secure copy)
cp file1 file2 复制一个文件file1 为 file2
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
scp file1 file2
(用于在Linux下进行远程拷贝文件的命令,
和它类似的命令有cp,
不过cp只是在本机进行拷贝不能跨服务器,
而且scp传输是加密的)
2.chomd:文件或者文件夹修改
chmod ugoa + rwx directory1
u(此目录所有者)、g (此目录群组)、o(群组外其他人) 以及 a(所有用户)
+(加入权限)、-(删除权限)、=(设置权限)
r(读取)、 w(写入)、x(执行)权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x
chmod g+w file # 向file的文件权限中加入用户组可写权限
3.chrow:改变文件所有(拥有)者
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
4.chgrp命令,改变文件所属组
chgrp group1 file1 改变文件file1 的所属群组
五.查看(文件内容,进程内容等)
1.ls:
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
2.head:
head -100 a.txt >test.txt (a.txt 就是读取的文件,test.txt中存在a.txt的前一百行)
查看正在运行任务:
1.ps命令:
下面的ps命令,显示所有运行中的进程:
#ps -aux
其中,
-A:显示所有进程
-u:显示终端中包括其它用户的所有进程
-x:显示无控制终端的进程
任务1:查看系统中的每个进程
ps -xxx
任务2:查看非root运行的进程
ps -u root -N (-N表示取非)
任务3:查看用户vivek运行的进程
#ps -u vivek
2.top命令:
top命令提供了运行中系统的动态实时视图。在命令提示行中输入top:
#top
(会输出动态的任务表)
进入动态显示任务表后,按‘q’退出,按‘h’显示帮助
杀死进程命令:
1.kill命令
kill -9 xxx (xxx写的是进程的Id号,彻底杀死对应进程号的进程)
定时任务设置:
用
#crontab –e
第一次进入的时候会让你选择对应的编辑器,输入相应的编辑器的序号就可以了,后续想在修改的话就用
#select-editor
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 2
或者直接编辑/etc/crontab文件,用
#sudo vim /etc/crontab
然后再打开的文件里面编辑要定时进行的任务:
基本格式
* * * * * user command
分 时 日 月 周 用户 命令
举例如下:
1、每分钟执行一次
* * * * * user command
2、每隔2小时执行一次
* */2 * * * user command (/表示频率)
3、每天8:30分执行一次
30 8 * * * user command
4、每小时的30和50分各执行一次
30,50 * * * * user command(,表示并列)
4、每个月的3号到6号的8:30执行一次
30 8 3-6 * * user command (-表示范围)
5、每个星期一的8:30执行一次
30 8 * * 1 user command (周的范围为0-7,0和7代表周日)
每次编辑完退出后:
crontab: installing new crontab (修改完文件后,会输出的信息,表示的是会再延迟3分钟后执行的任
务,比如现在时间是18:30 定时了一个每天18:32的任务,那么
今天18:32分的时候那个任务就不会执行)
六.网络的一些命令
1.有关网卡:
ifconfig eth0 显示一个以太网卡的配置
ifup eth0 启用一个 'eth0' 网络设备
ifdown eth0 禁用一个 'eth0' 网络设备
hosts文件 在 /etc/hosts
一般更改ip地址修改 /etc/sysconfig/network-scripts/ifcfg-ens33 文件即可
ethtool
ethtool命令用来查看或者修改指定网卡的工作方式。
ethtool命令的使用举例如下:
ethtool eth0 // 查看网卡eth0的工作方式,内容包括网卡的传输速度、全双工或半双工传输、网卡连接检测是否激活、网卡是否工作在自动协商状态等
netstat
netstat命令用于显示本机上与IP、TCP、UDP和ICMP协议相关的统计数据,该命令经常被用于检验本机各端口的网络连接情况。
netstat命令使用举例如下:
netstat // 显示本机网络连接情况。
netstat –a // 显示所有的有效连接信息,包括已建立的连接(ESTABLISHED)和监听的连接请求(LISTENING)。
netstat –ac // 以连续的形式显示所有的有效连接信息,每隔1秒刷新1次显示,直到用户中断显示。
netstat -i // 显示系统中所有网络接口信息,包括物理网卡、网卡别名和本地回环网卡。
七.有关防火墙的关闭
1.首先查看一下系统的版本号:
#uname -a (查看内核版本)
#cat /proc/version
#cat /etc/issue (列出基本系统版本信息)
#lsb_release -a (列出所有版本信息)
2.若为Ubuntu则一般情况下会默认系统自带防火墙程序 ufw:
有关ufw的一些命令
#ufw status (查看状态 inactive是关闭状态)
#ufw enable|disable (开启和关闭 ufw)
#sudo ufw allow from 192.168.1.100 (允许此IP访问所有的本机端口)
# sudo ufw allow 53 (允许 53 端口)
# sudo ufw delete allow 53 (禁用 53 端口)
3.再检查下是否有 iptable 服务:
#service iptables status (查看iptable的状态,
若输出Unit iptables.service could not be found.则说明并没有iptables的服务 ,
后面的也不用管了)
#servcie iptables stop --临时关闭防火墙
#chkconfig iptables off --永久关闭防火墙
4.再检查下是否有 firewalld 服务:
systemctl status firewalld.service
systemctl status firewalld.service (查看firewalld防火墙的状态,
若输出中有inactive则说明为关闭状态)
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
重启服务:systemctl restart firewalld.service
在开机时启用服务:systemctl enable firewalld.service
在开机时禁用服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo
查看已启动的服务列表:systemctl list-unit-files|grep enabled
2.查看服务和端口
netstat -lanp #查看一台服务器上面哪些服务及端口
ps -ef |grep mysqld 查看一个服务有几个端口。比如要查看mysqld
netstat -pnt |grep :3306 |wc 查看某一端口的连接数量,比如3306端口
netstat -anp |grep 3306 查看某一端口的连接客户端IP 比如3306端口
如何SpringBoot Maven jar项目 如何在后台运行并且记录后台数据
nohup java -jar spring-boot-hello-1.0.jar > log_yuedaoapi.file 2>&1 &
##nohub 会在关闭远程连接客户端(如xshell)之后还能继续在后台运行,
## > filename 会记录所有输出在控制台的信息
快捷键
复制粘贴:
在终端下:
复制命令:Ctrl + Shift + C 组合键.
粘贴命令:Ctrl + Shift + V 组合键.
在控制台下:
复制命令:Ctrl + Insert 组合键 或 用鼠标选中即是复制。
粘贴命令:Shift + Insert 组合键 或 单击鼠标滚轮即为粘贴。