欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux常用命令

程序员文章站 2022-05-10 20:33:45
...

Linux常用命令

查看Linux操作系统版本

cat /proc/version 

Linux version 3.10.0-957.21.3.el7.x86_64 (aaa@qq.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Tue Jun 18 16:35:19 UTC 2019

查看磁盘剩余空间(df -h)

df -hl 
#或者
df -h
----------------------------------------
[aaa@qq.com /]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/vda1        40G  1.7G   36G    5% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G  520K  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
tmpfs           379M     0  379M    0% /run/user/0

查看指定目录文件夹大小(du -sh [目录名])

#带有单位例如:128M、128G
du -sh [目录名]  
#或者
du -sm [目录名]
----------------------------------------
[aaa@qq.com /]# du -sh lib64/
128M	lib64/

查看指定文件夹下所有子文件大小(du -h [目录名])

du -h [目录名]
-----------------------------------------
[aaa@qq.com /]# du -h boot
4.0K	boot/efi/EFI/centos
8.0K	boot/efi/EFI
12K	    boot/efi
2.5M	boot/grub2/fonts
2.4M	boot/grub2/i386-pc
3.2M	boot/grub2/locale
8.0M	boot/grub2
8.0K	boot/grub
132M	boot

查看当前内存使用情况(free)

free
#或者附带单位
free -h 
#或者每n秒钟更新一次带单位
free -s [n] -h 
-------------------------------------------------
[aaa@qq.com /]# free -s 5 -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        108M        3.3G        520K        297M        3.3G
Swap:            0B          0B          0B

----------
              total        used        free      shared  buff/cache   available
Mem:           3.7G        108M        3.3G        520K        297M        3.3G
Swap:            0B          0B          0B

---------
              total        used        free      shared  buff/cache   available
Mem:           3.7G        108M        3.3G        520K        297M        3.3G
Swap:            0B          0B          0B

Linux释放内存(echo 3 > /proc/sys/vm/drop_caches)

当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching

因此我们很有必要手动清理系统缓存释放内存。

sync

我们在清理缓存前应该先sync下:

因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。

所以我们在清理缓存先要先把buffe中的数据先写入到硬盘中,sync命令

#同步数据,将缓存数据同步到磁盘中
sync

手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

最后,输入手动释放内存的命令

echo 3 > /proc/sys/vm/drop_caches

#drop_caches的值可以是0-3之间的数字,代表不同的含义:
#0:不释放(系统默认值)
#1:释放页缓存
#2:释放dentries和inodes
#3:释放所有缓存

看内存是否已经释放掉了

free -h

#total——总物理内存
#used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存
#free——完全未被使用的内存
#shared——应用程序共享内存
#buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
#cached——缓存,用于已打开的文件

退出Linux编辑命令(ctrl+c)

Ctrl+C

重启服务(reboot)

reboot

关闭服务(shutdown)

shutdown

Linux文件移动(mv -[option][文件/文件夹] [目标路径])

用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中


#option:
#-i:如果目标路径存在则提醒是否覆盖。
#-f:直接覆盖不提示
mv -[option] [文件/文件夹] [目标路径]

#例如:将当前目录下的 test.txt 文件移动到上级目录的temp目录下
mv -i test.txt ../temp/
       

Linux更改文件名(mv [原文件名] [新文件名] )

mv [原始文件名] [新文件名]

#例如:将当前 test.txt 文件更改为 temp.txt文件
mv test.txt temp.txt

Linux删除文件(rm -rf [文件/文件夹])

rm -rf [文件/文件夹]

#例如:删除当前文件夹下的test.txt文件
rm -rf test.txt

#删除 test文件夹下的左右子文件夹和文件
rm -rf test

Linux创建文件夹及文件(mkdir -p [文件夹名]|touch[文件名])

#创建文件夹
mkdir [文件夹名]
#创建文件
touch/vim [文件名称]

#例如:先创建test文件夹,然后再test文件夹下创建test.txt文件
mkdir test
touch test/test.txt

#例如在A目录想创建B目录(假如A目录不存在,使用-p 如果父目录不存在则创建)
mkdir -p A/B

Linux编辑文件(vim [文件名])

  • 打开文件

    cat / vim [文件名称]
    
  • 开启编辑模式

    a 、i、o指令都可以开启编辑模式

  • 退出编辑模式

    Esc

  • 保存并退出

    在非编辑模式下,输入:wq回车即可退出文件

Linux文件上传与下载(scp)

把本机的文件/文件夹传给目的服务器

scp [文件名] 服务器登陆用户名@服务器IP地址:[目标路径]

#将本地temp.txt文件上传至130.20.88.90服务器的usr/temp目录***意需要输入服务器密码)。
scp temp.txt aaa@qq.com:/usr/temp/

#将本地文件夹上传至远程服务【scp -r 文件夹名 linux用户名@ip地址:目录】
scp -r test aaa@qq.com:/usr/local/

把远端的服务器文件拷贝到本机上

scp 服务器登陆用户名@服务器IP地址:[目标路径] /

#例如:将服务器 130.20.88.90 上user/temp/temp.txt文件下载至本机User/Shared目录下
scp aaa@qq.com:/usr/temp/temp.txt /User/Shared/

Scp -P 指定远程服务器端口

如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:

#-p 指定目标服务器的指定访问端口
scp -P 24 temp.txt aaa@qq.com:/usr/temp/

Linux查看文件权限属性(ls -al)

ls -al

drwxr-xr-x   2 zcmain  staff    64 10 25 16:00 temp
-rw-r--r--   1 zcmain  staff     0 10 25 16:00 temp.txt
-rw-r--r--   1 zcmain  staff     0 10 25 16:00 test.txt
drwxr-xr-x   2 zcmain  staff    64 10 25 16:00 usr

linux常用命令

一共十个字符:

第一个字符代表文档类型:

  • [d]:代表目录
  • [-]:代表文件
  • [l]:代表连接档(link file)
  • [b]:代表可供存储的接口设备(可随机存取设备)
  • [c]:代表串行端口设备,如:键盘、鼠标(一次性读取装置)

接下来字符中。三个一组且均为rwx的三个组合:

  • 第一组:代表文件拥有者可具备的权限
  • 第二组:代表加入此群组的账号的权限
  • 第三组:代表非本人且没有加入本群组的其他账号权限。

每一组的三个字母代表:

  • [r]:代表可读
  • [w]:代表可写
  • [x]:代表可执行
#举例说明
#d   ——>该文件夹
#rwx ——>拥有者具备可读、可写、可执行权限
#rw- ——>该群组用户可读、可写、不可执行权限
#r-- ——>其他用户仅可读权限
drwxrw-r-- 

Linux中mv、cp、scp区别

mv

用户可以使用该命令为文件或目录重命名或将文件由一个目录移入另一个目录中

cp

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中(主要是用于在同一个主机上)

scp

主要是在不同的Linux系统之间来回copy文件

Linux查看进程PID编号指令(pf -ef)

ps -ef

Linux查看端口占用情况(netstat -anop)

netstat -anop

Linux显示隐藏文件(ll -a)

  • 显示可见文件(不包含隐藏文件)

    #并且显示可见文件
    ls
    
    #列表显示可见文件
    ll
    
  • 显示所有文件

    #横排显示所有文件
    ls -a
    
    #列表显示所有文件
    ll -a
    
  • 仅显示隐藏文件

    l.
    #或者
    ls -d .*
    

Linux执行命令(source -fileName)

# source 命令作用:在当前bash环境下读取并执行FileName中的命令。
source -fileName

#注:该命令通常用命令“.”来替代。如:
source /etc/profile   
. /etc/profile 
#是等效的。

Linux搜索文件(whereis fileName)

#fileName:搜索的文件名
whereis fileName

#例如搜索git
whereis git
git: /usr/local/git
相关标签: Linux命令