随笔 - 424  文章 - 0  评论 - 89  阅读 - 48万

linux命令

1.拷贝文件  

[root@bogon ~]# cp redis-3.2.10/src/redis-trib.rb /usr/local/bin
将redis-3.2.10/src/下面的redis-trib.rb拷贝到/usr/local/bin/下面;
 
复制文件夹:
cp -r redis-7.0.0 /home/csii/redis/node1
 
2.创建文件夹  
[root@bogon ~]# mkdir redisw_cluster
在家目录下创建redisw_cluster目录
 
mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
mkdir -p xx/yy的好处就是一次可以创建多级文件夹,若xx文件夹不存在,则先创建xx文件夹,然后在xx文件夹下创建yy文件夹
 
删除文件夹:
1、使用rmdir命令,语法“rmdir 文件夹名”;
2、使用rm命令,语法“rm -rf 文件夹名/”
 
3.解压缩:  
tar -zxvf redis-5.0.8.tar.gz          解压tar.gz格式的文件
tar -zxvf redis-5.0.8.tar.gz -C /usr/local/    解压到指定目录
tar -zcvf 压缩文件名.tar.gz          压缩文件为tar.gz格式文件
tar -xvf  xxxx.tar                 解压xxxx.tar
 
解释:
-c:建立压缩档案
-v:显示所有过程
-x: 解压
-z:有gzip属性的
-Z:有compress属性的
-j:有bz2属性的
-f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
 
举例:
压缩:
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz 
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z 
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux 
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux 
 
解压:
tar –xvf file.tar //解压 tar包 
tar -xzvf file.tar.gz //解压tar.gz 
tar -xjvf file.tar.bz2 //解压 tar.bz2 
tar –xZvf file.tar.Z //解压tar.Z 
unrar e file.rar //解压rar,该命令会将rar文件解压缩到当前目录中,并保留rar文件的目录结构
unrar x file.rar //该命令会将rar文件解压到当前目录中
unzip file.zip //解压zip
 
tar命令中  -C 的使用:
在tar命令中,-C选项(--directory)的作用是在进行打包或解包操作之前,先切换到指定的目录。

功能解释

-C 选项允许你指定一个目录作为操作的起始点。在执行 tar 命令时,若使用了 -C 选项并跟上一个目录路径,tar 会先进入该目录,再执行后续的打包或解包操作。这意味着在后续指定要打包的文件或目录时,路径是相对于 -C 所指定的目录而言的。
 
例1:打包文件时使用-C选项
tar -czf /pisces/nginx/backup/mweb.tar.gz -C /pisces/nginx/html/ mweb  将/pisces/nginx/html/目录下面的mweb文件夹打包,打到路径下/pisces/nginx/backup/mweb.tar.gz
 
例2:  解包文件时使用-C选项
tar -xzf /pisces/nginx/backup/mweb.tar.gz -C /pisces/nginx/html/     将/pisces/nginx/backup/mweb.tar.gz,解压到/pisces/nginx/html/下面
 
 
 
 
 
3.文件夹重命名(利用移动文件)
如:将redis_cluster重命名为redis_cluster2
复制代码
[root@bogon ~]# ll
总用量 1528
-rw-------. 1 root root    1269 3月  31 23:56 anaconda-ks.cfg
-rw-r--r--. 1 root root      88 4月   1 11:49 appendonly.aof
drwxrwxr-x. 6 root root    4096 7月  28 2017 redis-3.2.10
-rw-r--r--. 1 root root 1550261 7月  29 2017 redis-3.2.10.tar.gz
drwxr-xr-x. 2 root root       6 4月   1 13:39 redis_cluster
[root@bogon ~]# ls -i
33574991 anaconda-ks.cfg  16784427 redis-3.2.10         50929651 redis_cluster
50929643 appendonly.aof   33591826 redis-3.2.10.tar.gz
[root@bogon ~]# mv redis_cluster redis_cluster2
[root@bogon ~]# ls -i
33574991 anaconda-ks.cfg  16784427 redis-3.2.10         50929651 redis_cluster2
50929643 appendonly.aof   33591826 redis-3.2.10.tar.gz
复制代码
我们修改完成之后可以用ls-i来看看
其实redis_cluster和redis_cluster2的内存地址一样的;
mv命令的本质是吧一个文件移动到另外一个目录
当然在移动的过程中可以对目标文件取名;所以我们才可以拿来用来修改文件夹名称用
 
4.查看进程  
ps -ef 查看所有进程
ps -ef | grep redis 查看redis相关进程

其中各列的内容意思如下

UID    //用户ID、但输出的是用户名 
PID    //进程的ID  
PPID    //父进程ID 
C      //进程占用CPU的百分比
STIME  //进程启动到现在的时间
TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD    //命令的名称和参数

 

 
5.杀掉进程  
[root@bogon ~]# kill -9 2139
杀掉pid为2139的进程,-9表示强制结束
 
6.编辑命令 vi  
vi redis.conf      编辑redis.conf,进入编辑模式,但是只能看
按i          按i进入编辑模式,可以修改了
Esc           退出编辑模式,又只能看了
/search        在只读状态,输入xxx,可以在文本中搜索xxx,按n到下一个搜索关键字的地方
:q           按esc退出编辑模式,输入:q,不保存退出
:q!          强制退出
:wq           按esc退出编辑模式,输入:wq,保存并退出
跳到文件的第一行:  键盘按下 小写 gg    或 输入 :0 或者 :1   回车
G           键盘输入G, 移动到文件结尾
:0          :0   或者 :1 也可以跳转到第0行和第1行
/           /后面输入内容,在文本中从上至下搜索该字符串
?            ?后面输入内容, 在文本中从下至上搜索该字符串
n                              显示搜索命令定位到的下一个字符串。代表重复前一个搜寻的动作,/string去向下搜寻string这个字符串,按下n后,会向下继续搜寻下一个名称为string的字符串。如果是?                                         string,那么按下n则会向上继续搜寻名称为string的字符串!
N                                  显示搜索命令定位到的上一个字符串
:set nu        显示h行号,是:set number的缩写
 
 
 
 
 
6.查看文件的相关命令
more T.java    查看T.java文件
 
linux命令more是用来查看文件内容,如果文件内容多余一页,则会一页一页的显示,方便浏览者查阅,Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)
more -s testfile     逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile    从第 20 行开始显示 testfile 之档案内容。
more -3 zzz.txt      一次显示3行zzz.txt中的文件内容
head命令
 head -n 10 /tmp/tmpfile        查看文件前10行
 tail -n 10 /tmp/tmpfile        查看文件后10
 
 
 
7.查看目录下文件:
ls      //只能查看文件夹
ll      //查看每个文件的详细信息
ls -lrt    显示当前目录中的内容,按照时间顺序显示在列表中,最新的文件显示在底部
ls 命令用于列出目录的内容,lrt是其三个不同选项的组合:
l: 这是一个很长的内容列表,它在每一行里面显示一个文件的其他信息,比如权限,拥有者,大小,创建时间等;
t: 这个选项将输出列表按照时间排序;
r: 它将ls命令的输出进行倒序排序。
因此,当你把它们组合在一起使用的时候,就会将当前目录中的内容,按照时间顺序显示在列表中,最新的文件显示在底部。
 
 
8.关闭防火墙  
[root@bogon ~]# systemctl stop firewalld.service
 
systemctl status firewalld      查询防火墙的状态
systemctl stop firewalld        关闭防火墙
systemctl disable firewalld      开机禁用防火墙
 
 
9、linux关机指令:

10.查看磁盘使用情况

linux查看磁盘使用情况命令


df -h

统计磁盘整体情况,包括磁盘大小,已使用,可用。命令“df”

[root@hfdc5 redis]$ df
文件系统                   1K-块     已用     可用 已用% 挂载点
devtmpfs                24593300        0 24593300    0% /dev
tmpfs                    4194304        0  4194304    0% /dev/shm
tmpfs                   24605428   782532 23822896    4% /run
tmpfs                   24605428        0 24605428    0% /sys/fs/cgroup
/dev/mapper/centos-root 52403200  8655276 43747924   17% /
/dev/sda1                1038336   200540   837796   20% /boot
/dev/mapper/centos-home 51989708 48513756  3475952   94% /home
tmpfs                    4921088        0  4921088    0% /run/user/1001

命令"df -lh"使用这个命令会更清楚磁盘使用情况:

[csii@hfdc5 redis2]$ df -lh
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                  24G     0   24G    0% /dev
tmpfs                    4.0G     0  4.0G    0% /dev/shm
tmpfs                     24G  765M   23G    4% /run
tmpfs                     24G     0   24G    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  8.3G   42G   17% /
/dev/sda1               1014M  196M  819M   20% /boot
/dev/mapper/centos-home   50G   47G  3.4G   94% /home
tmpfs                    4.7G     0  4.7G    0% /run/user/1001

查看当前目录df -h,统计每个目录下磁盘的整体情况

[csii@hfdc5 redis2]$ df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                  24G     0   24G    0% /dev
tmpfs                    4.0G     0  4.0G    0% /dev/shm
tmpfs                     24G  765M   23G    4% /run
tmpfs                     24G     0   24G    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  8.3G   42G   17% /
/dev/sda1               1014M  196M  819M   20% /boot
/dev/mapper/centos-home   50G   32G   19G   63% /home
tmpfs                    4.7G     0  4.7G    0% /run/user/1001

查看当前目录每个文件夹的情况:
du -h --max-depth=1

只要在命令后直接根目录名,以目录“/usr”为例,命令如下:du --max-depth=1 -h /usr/
 
为了快算显示,同时也只是想查看目录整体占用大小。可以直接使用du -sh 命令,如果想查看指定目录,直接在命令后根目录即可。
命令:du -sh /usr/
 
du命令  
du命令用于显示目录或文件的大小,du会显示指定的目录或文件所占用的磁盘空间。
-a: 显示目录中所有文件以及文件夹大小
-h: 以 Kb、Mb 、Gb 等易读的单位显示大小
--si: 类似 -h 选项,但是计算是用 1000 为基数而不是1024
-s: 显示目录总大小
-d: 是 --max-depth=N 选项的简写,表示深入到第几层目录,超过指定层数目录则忽略
-c: 除了显示目录大小外,额外一行显示总占用量
--time: 显示每一个目录下最近修改文件的时间
-t: 是 --threshold=SIZE 的简写,过滤掉小于 SIZE 大小的文件以及目录
--exclude=PATTERN:过滤与PATTERN匹配的文件名或者目录名
 
du -sh /data/          计算指定文件夹大小
du -sh *              查看所有目录文件的大小
 
  
 
11.查看CPU信息:
cat /proc/cpuinfo

查看内存使用:  
cat /proc/meminfo   这个动态更新的虚拟文件实际上是许多其他内存相关工具 (如:free / ps / top) 等的组合显示。/proc/meminfo 列出了所有你想了解的内存的使用情况。
sudo atop              atop 命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
free -h                free 命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
 
 
12.查看端口占用情况
[root@hfdc software]$ lsof -i:9000
 
比如查看nginx服务listen 9043端口的监听情况:
 
12.1 查看服务监听的端口:
ss -tuln
参数说明:
-t 表示显示TCP端口
-u 表示显示UDP端口
-l 表示显示监听状态的端口
-n 表示不解析服务名称,直接显示端口号
也可以用:netstat -tuln
 
 
13.远程拷贝命令
scp /home/app/example-release.tar.gz zhangsan@172.16.16.5:/home/app/  将/home/app/example-release.tar.gz文件远程拷贝到172.16.16.5机器的zhangsan用户的/home/app/目录下
 
应用实例:从本地复制文件到远程
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp31,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
scp deploy.sh user@10.0.81.1:/home/app/run        将当前目录下deploy.sh远程拷贝到10.0.81.1机器的user用户的/home/app/run目录下。(执行后需输入密码)
 
应用实例:从远程复制文件到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/

scp odsftp@10.0.0.10:/ODSFILE/TMP/HIS_FILE.txt /share_file/local/his/
 
将本机的文件夹远程拷贝到另外机器上:
scp -r 文件夹名称 dmdba@10.0.0.1:/dm/soft/
 
14.chown命令的使用  
系统上的每个文件和目录均有某个人所有,拥有者可以完全控制更改或删除他们拥有的文件。除了有一个拥有用户外,文件还有一个拥有组。
可以使用ll或者ls -l查看文件的所有权:
[root@iZ2ze0wl2fd630j44pq50iZ app]# ls -l
总用量 359772
drwxrwxr-x 2 wxapp wxapp     4096 921 09:49 wx-app
-rw-r--r-- 1 wxapp wxapp 67863417 920 18:24 wx-app-release.tar.gz
drwxrwxr-x 2 wxapp wxapp     4096 913 15:48 wx-eureka
-rw-r--r-- 1 wxapp wxapp 45704928 913 15:48 wx-eureka-release.tar.gz
drwxrwxr-x 2 wxapp wxapp     4096 913 16:19 wx-gateway
-rw-r--r-- 1 wxapp wxapp 40034173 913 16:18 wx-gateway-release.tar.gz
drwxrwxr-x 2 wxapp wxapp     4096 920 18:30 wx-manager
-rw-r--r-- 1 wxapp wxapp 69044106 920 18:25 wx-manager-release.tar.gz
drwxrwxr-x 2 wxapp wxapp     4096 920 18:30 wx-router
-rw-r--r-- 1 wxapp wxapp 78417513 920 18:25 wx-router-release.tar.gz
-rw-r--r-- 1 wxapp wxapp 67312923 920 18:26 wx-scheduler-release.tar.gz
该输出的第三、四列是拥有用户和组,他们一起成为所有权。
所有权设置由chmod命令进行设置,控制允许谁可以执行读取、写入或运行的操作。你可以使用chown命令更改所有权。
所有权经常需要更改。文件和目录一直存在系统中,但用户不断变来变去。当文件和目录在系统中移动时,或从一个系统移动到另一个系统时,所有权也可能需要更改。
[root@iZ2ze0wl2fd630j44pq50gZ wxapp]# chown -R wxapp:wxapp *
更改该目录下的所有文件和文件夹的所有权用户为wxapp,组为wxapp

chown -R lamport:users *
将目前目录下的所有文件与子目录的拥有者皆设为 users 群体的使用者 lamport :

参考:
https://wenku.baidu.com/view/533a1de80608763231126edb6f1aff00bed570e2.html
 
  1. 使用 chown 命令(更改文件或目录的所有者)
    • 基本语法chown [选项] 新所有者:新所属组 文件或目录路径
    • 示例 1:更改文件所有者
      • 假设要将文件/home/user/file.txt的所有者从user1更改为user2,命令如下:
        • chown user2 /home/user/file.txt
    • 示例 2:同时更改所有者和所属组
      • 要将目录/var/www/html的所有者从user更改为admin,所属组从group1更改为group2,命令为:
        • chown admin:group2 /var/www/html
    • 常用选项说明
      • -R(递归选项):用于更改目录及其子目录和文件的所有者。例如,要将目录/home/user/dir及其所有内容的所有者从user1更改为user2,命令是:
        • chown -R user2 /home/user/dir
  2. 注意事项
    • 只有具有足够权限(通常是超级用户 root 或具有适当权限的管理员用户)的用户才能执行chown命令。如果普通用户尝试更改不属于自己的文件或目录的所有者,会收到 “权限不足” 的错误消息。
    • 在某些系统配置中,可能会有限制chown命令使用的安全策略。例如,在某些共享主机环境中,为了安全和管理方便,可能会禁止用户随意更改文件所有者。
 
 
 
15.tail      
tail -c 200 test.log          输出最后200个字符
tail -c +900 test.log          从第900个字符开始输出,一直到最后
tail -n 20 test.log            输出最后20行
tail -n +36 test.log          从第36行开始输出,一直到最后
tail -f test.log             输出指定文件的最后10行,同时动态输出新增内容部分,直到按Ctrl+C退出
tail -100f               实时查看文件最后100行
tail -f -n 100 test.log         实时查看日志后100行
 
16.wc [选项] 文件
wc(world count)是一个统计文件字词,字节,行数的命令,它可以帮我们非常方便的统计以上信息。
-c  统计字节数
-l   统计行数
-w    统计字数
例如:
wc /etc/passwd
46   66   2027 /etc/passwd
行数 单词数 字节数 文件名
 
[root@jfht ~]# wc -l /etc/passwd
46 /etc/passwd
 
 
 
 
 
 
 
 
 
 
 
 
 
posted on   有点懒惰的大青年  阅读(298)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示