Centos常用命令

Centos常用命令

jance 5 2024-03-24

一、基础命令

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