一、基础命令
1、用户、用户组相关
useradd [username]
添加用户
passwd [username]
给用户设置密码
userdel [username]
删除用户
cat /etc/passwd
查看所有用户
w
查看当前活跃用户
groupadd [groupname]
新建工作组
usermod -G [groupname] [username]
将用户添加进工作组
cat /etc/group
查看用户组
2、权限相关
chmod –R u+rwx peter.net
授予用户对peter.net目录拥有rwx权限
chmod –R g+rwx peter.net
授予组对peter.net目录拥有rwx权限
chmod –R u+rwx,g+rwx,o+rwx peter.net
授予用户、组、其他人对jpeter.net目录拥有rwx权限
chmod –R u-w peter.net
撤销用户对peter.net目录拥有w权限
chmod –R u-x,g-x,o-x peter.net
撤销用户、组、其他人对peter.net目录拥有x权限
chmod –R u=rx,g=rx,o=rx peter.net
授予用户、组、其他人对jpeter.net目录只有rx权限
chmod –R 755 peter.net
授予用户对peter.net目录拥有rwx权限
chmod –R 775 peter.net
授予组对peter.net目录拥有rwx权限
chmod –R 777 peter.net
授予用户、组、其他人对peter.net目录拥有rwx权限
chown [username] [filename]
改变文件所有权-用户 -R 将改变目录中所有文件及目录的拥有者
chgrp [groupname] [filename]
改变文件所有权-组
3、目录相关
pwd
显示目录
mkdir [name]
创建目录
rmdir -rf [name]
删除目录
cd [name]
改变目录
4、文件相关
ls
查看文件夹下所有文件
-a
:列出所有文件,包括以点开头的隐含文件
-l
: 按长格式列出文件名,包括文件类型,权限,链接数,文件名,组名,字节数,日期;
-h
:human为“人”的意思,这个命令意思就是显示地尽可能人性化一些。具体体现在文件或目录的大小(直接显示为某某KB或某某MB);
-r
: 列出包括子目录下所有文件;
-g
:在长格式中给出用户组的标识;
-t
: 安文件生成日期排序;
ll
查看文件夹下所有文件,等同于 ls -l
cat [filename]
显示文件内容
more [filename]
按屏幕显示文件内容
空格键:继续下一屏的输出;
回车键:看下一行的输出;
q
:退出;
字符串/
:查询字符串所在处;
a
:返回到上一屏
pg [filename]
分页显示文件内容
view [filename]
读文件
head [filename]
显示文件头部
-I
:显示文件的开始 i行
tail [filename]
显示文件尾部
-I
:显示文件的开始 i行 [常用tail -f [filename]查看项目日志]
cp [filename1] [filename2]
复制文件
mv [filename1] [filename2]
移到文件/文件改名
rm -r [filename]
删除文件
ln -s [filename] [linkname]
链接文件
find [pathname] [xxx]
寻找文件
-name
:表示文件名;
-user
:用户名,选取该用户所属的文件
-group
:组名,选取该用户组属的文件
-mtime n
:选取n天内被修改的文件
-newer fn
:选取比文件名为fn更晚修改的文件
grep
通配符(匹配符)
-v
:找出模式失配的行
-c
:统计匹配行的数量
-n
:显示匹配模式的每一行
5、系统信息
ps
显示进程
-a
:列出当前系统中所有进程的信息
-l
:显示一个长列表
-e
:显示当前运行的每一个进程信息
-f
:显示一个完整的列表
df
显示磁盘空间
-h
:更具目前磁盘空间和使用情况 以更易读的方式显示
-i
:显示已用和未用的字节数
-k
:显示磁盘空间的使用信息
du
显示文件盘空间
-a
显示所有文件的大小
-s
:显示制定目录所占磁盘大小
history
历史命令
6、网络命令
ping
测试网络
7、程序运行
kill
杀死进程
-9
:强杀
8、yum软件管理
8.1、查看软件包
yum repolist
查看源
yum list all
列出yum源仓库里面的所有可用的安装包
yum list installed
列出所有已经安装的安装包
yum list available
列出没有安装的安装包
8.2、安装软件
yum install softwarename
安装指定的软件
yum reinstall softarename
重新安装指定的软件
yum localinstall
第三方software 安装第三方文件并且会解决软件的依赖关系
yum remove softwarename
卸装指定的软件
8.3、查找软件的信息
yum info software
查看软件的信息
yum search keywords
根据关键字查找到相关安装包软件的信息
yum whatprovides filename
查找包含指定文件的相关安装包
8.4、对于软件组
yum groups list
列出软件组
yum groups install
安装一个软件组
yum group remove
卸载一个软件组
yum groups info
查看一个软件组的信息
二、进阶命令
1、scp上传下载文件
1.1、上传本地文件到服务器
scp /path/filename username@servername:/path
例如scp /var/www/test.php [email protected]:/var/www/
把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中
1.2、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp [email protected]:/var/www/test.txt
把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)
1.3、上传目录到服务器
scp -r local_dir username@servername:remote_dir
例如:scp -r test [email protected]:/var/www/
把当前目录下的test目录上传到服务器的/var/www/ 目录
1.4、从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r [email protected]:/var/www/test /var/www/
将服务器/var/www/test整个文件夹下载到本地/var/www
2、ssh连接服务器
ssh username@servername
例如 ssh [email protected]
ssh默认端口为22,若服务器调整为其他端口可使用 -p xx 用来连接
例如 ssh [email protected] -p 122
3、文件中字符串替换
使用 sed
命令可将指定文件中的某个字符串,替换为指定字符串。
例如:sed -i "s/dev/sit/g" aaa.txt
将aaa.txt文件中,所有 dev 替换为 sit
4、运行jar包
4.1、直接运行
java -jar XXXX.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?
4.2、后台运行
java -jar XXXX.jar &
&
代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?
4.3、不挂断后台运行
nohup java -jar shareniu.jar &
nohup
意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
4.4、不挂断打印日志
nohup java -jar XXXX.jar >log.txt &
解释下 >log.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
通过jobs命令查看后台运行任务
jobs
那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。
fg 23
查看某端口占用的线程的pid
netstat -nlp |grep :9181