收藏文章 楼主

linux基础命令大全

版块:linux   类型:置顶   作者:小绿叶技术博客   查看:2437   回复:2   获赞:7   时间:2020-06-05 11:01:51


1

# linux常用命令

ls  # 列出文件

-a 显示所有文件及目录

-l 显示:型态  权限  拥有者 大小等资讯

-r 文件倒序显示

-t 按照时间列出

-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

-R 若目录下有文件,则以下之文件亦皆依序列出

-h 文件大小显示 MB


ls -altrh # 所有文件  显示资讯  按照时间  倒叙显示  按照MB显示



cd /home  #进入 ‘/ home’ 目录

# cd .. 返回上一级目录;

# cd ../.. 返回上两级目录


mkdir dir1  # 创建一个叫做 ‘dir1’ 的目录

mkdir -p d/111 # -p 没有父目录 d 时  先创建

rmdir dir1  # 删除一个叫做 ‘dir1’ 的空目录

rm -f file1  # 删除一个叫做 ‘file1’ 的文件’

# -f 参数,忽略不存在的文件,从不给出提示。





rm -rf  $(ls | grep @) # 删除 : ls 列出文件进行过滤为包含@符号的目录名称


grep -r bash ./*             # grep -r 递归匹配 指定目录下包含字符串的文件


find  / -name "*.txt" | xargs rm -rf   

                                         # 删除文件,参数传到到后面

 

touch 1.txt  # touch 创建文件 


#------------- cat -------------#

cat -n 1.txt # 查看文件,-n显示行号

cat 1.txt | sort | uniq -c # sort [sɔːt] 种类,分类排序

# uniq -c 计算个数


cat 1.txt | tail -n 100                                     # 查看最后100行的数据

cat 1.txt | head -n 300 | tail -n +100            # 查看100到300行的数据

cat 1.txt                                                        # 打印文件所有内容

cat filename tail -n 100                                # tail -n 100 打印文件最后100行的数据

cat filename tail -n +100                              # tail -n +100 打印文件第100行开始以后的内容

cat filename head -n 100                             # head -n 100 打印前100的内容



strace  ls -al                    # strace 跟踪命令执行流程,再哪个第三方无法执行


cat /dev/null > 2.sh 

# 清空2.sh 的文件内容

cat /var/log/message # 系统启动后的信息和错误日志 文件夹下的 :

secure 与安全相关的日志信息 

maillog 与邮件相关的日志信息

cron 与定时任务相关的日志信息

spooler 与UUCP和news设备相关的日志信息

boot.log 守护进程启动和停止相关的日志消息


rm -rf /mulu/*  # 删除mulu文件夹下的所有文件

cp /root/1.txt /www/2.txt

# cp 复制前面目录中的文件到后面目录里面并命名为2.txt

\cp -r  # 前面加反斜杠是强制同意


mv /test1/file1 /test3/file2  # mv 移动文件且改名为file2


mv * ../  # mv 移动当前目录 * 所有文件到  ../上一级目录    ./ 当前目录

df -hl  # 查看磁盘大小

df -sh /www # 查看指定目录或文件的大小

blkid                                                 # 磁盘列表,查看磁盘格式


blkid /dev/sda1                                # 获取磁盘uuid


reboot # 重启

halt # 关机


yum install -y net-tools # 安装netstat 工具包

netstat -ntlpu # 查看正在运行使用端口的服务


mysql -h 127.0.0.1 -P 3306 -uenchantment -peisc.cn   # linux 登录远程数据库指定端口命令

                                                                                       # -h 指定远程地址  -P 大写指定端口  -p 指定密码

yum install -y msyql                                                       # 需要安装mysql 登录工具命令,mysqld 是数据库服务


ps -ux # 查看当前的激活的进程

ps -ef | grep httpd # 使用grep搜索关键字 httpd

ps -aux | grep httpd # 使用 -aux 显示httpd的所有状态


sudo lsof -p 837 # 通过 top 命令查看进程的 进程号  来查找 进程路径,软件路径


kill -9 2912 # 终止pid -9 参数;进程为2912的ID进程。

pkill -9 nginx  # 直接停止nginx名称的所有进程

sudo userdel -r eisc # 删除用户


free -m  # 查看服务器内存使用情况

# total [ˈtəʊt(ə)l] 总数    used  [juːzd] 已用      free [friː] 空闲

ps -aux | sort -k4nr | head -n 10

                                                 # 查看进程 占用内存前十的运用


hostnamectl --static set-hostname eisccn ; bash

                # 修改主机名为 eisc ; 刷新 bash


clear                # 清空屏幕,清屏,也可以:Ctrl + L


more /var/log/messages | grep error

                      # 查看系统报错日志,grep 过滤 包含 error 字符的字段


dmesg                                           # linux 启动日志


sudo cloud init schema--system         # 查看错误日志


ethtool eno2 # 查看 eno2 网卡速率-区分:速度大为内网卡,小外网卡

iftop # 查看带宽,网速监控

tracepath xx.cn # 路由追踪


systemctl restart network

nmcli c reload enpls0   # centos8 重启网卡


yum install -y mtr

mtr -c1 -r -P 443 eisc.cn    #mtr 端口探测是丢包 -p 指定端口 443 -c1 测试1次



grep -r abc 1.txt | awk -F = '{print $0}')

# grep -r 匹配字符串为:abc,在1.txt 文件里面去找

# awk -F 分隔符为空用等号链接,坐标为:没有行,有全部列


ip a | grep -w flags | awk -F":" 'NR==1{print$1}'

# ifconfig 查看网卡信息。

# grep -w flags 匹配单词-w以world文本方式查找flags

# awk -F 指定分隔符为 冒号: 

# awk 坐标,行和列:NR==1 行号1,print $1  第一列;其中$1  是1列


ip a | awk -F " " '$1=="inet" {print $2}'

# ip a 是参看网卡命令;awk -F " " 指定分隔符为空格;坐标为:'$1=="inet" {print $2}'

# 第一个参数是行,后面print是列; $1=="inet" 匹配第一列字符为inet 的行;给后面筛选打印

# pinrt $2   由前面给的结果中,来打印第二列

route -n                           # 查看路由表


wget --help | less                         # 下载命令帮助,以列表分页显示查看帮助 Q退出

wget -rndP test url                  # 下载指定url地址目录连接下的所有文件,存放在自定义的test文件夹中

wget -P /root http://eisc.cn/1.sh   # 将链接中的文件下载到/root 文件夹中

wget eisc.cn/1.txt -O cs.txt           # wget -O 下载文件保存为 cs.txt

                                         


yum search ifconfig # search  [sɜːtʃ] 搜索,查找 ;  搜索查找安装包 ifconfig

yum -y install tcping* # * 号安装tiping包及其所有依赖包

tcping eisc.cn 80 # 拼80端口,开:open   关: closed,若一直卡在那里,则端口不通

ping -c10 -i0.3 -w10  eisc.cn # ping -c 10 次数C  10次,-i ping的间隔时间0.3s;-w 单次ping的结束时间(总时间)




yum -y install lrzsz # 使用 yum install 安装:上传文件工具

rz  # 上传文件

sz file.name  # 下载文件:在弹出的窗口选择保存文件的位置,文件会被下载至对应的目录下


history # 查看历史命令

history -d 9 # 删除  ID为9 的历史命令

set +o history                                         # 不会将任何当前会话写入日志。可以在会话期间任何时间运行,并隐藏所有命令。

set -o history                                          # 开启记录功能

export HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`:    "

                                                                # 查看history 执行的时间

history                                                     # 查看历史命令



uptime # 查看当前负载情况

vmstat # 虚拟内存统计,cpu 磁盘IO 等等


# 完全卸载运用


yum history list # 查看已安装的依赖包

yum history list httpd # 查看历史安装包的ID号,最左边的是ID

yum history undo 11 # 卸载软件“11”是ID号

rpm -qa | grep httpd # 查看以rpm 方式安装的运用

=================



make -j 4 && make install # 让make -j 4 最多同时进行4个编译命令同时进行

ethtool eth0 # 使用ethtool 加网名卡区分内网卡或外网卡

# 速度快的为内网


systemctl status -l mariadb # 查看运用启动错误


find / -name "php.ini" # find 查找名字为 php.ini 文件 所在目录

find ./ -name "*admin*"     # find查找 目录,是相似admin的目录或者文件,需要双引号。


#-----------------------   文件权限   ------------------------#

# 文件权限:一般权限

chmod -R 0777 /root/1.sh # chmod权限到目录下的 -R 所有文件

# A- 0, 表示十进制

# 7=4+2+1 = r + w  + x   读+写+执行;   Read(4)  Write(2)  eXecute(1)

                                                # 777   u  g  o   用户,用户组,其他用户 ,共三个身份属性都是7  ; a 表示所有


                                                 # -  开头:表示普通的文件

                                                 # - 其他位置,表示对应权限未开启,不具备权限

                                                 # d 开头: 即directory,表示目录文件


# 文件权限:隐藏权限 

chattr  +a  ceshi.txt                  # 文件限制,只能追加行不能删除行,参数  +a   +i 

chattr  -a  ceshi.txt                   # 取消锁定 -a  -i 

chattr   +i                                 #  问价加锁:不允许需改追加

chattr   -i

lsattr  ceshi.txt                         # 查看权限

# 无法修改密码:

chattr -i /etc/*shadow /etc/passwd /etc/group

chattr -a /etc/*shadow /etc/passwd /etc/group

                                               # 解除文件锁定

遇到的坑:chattr +i ./*  或者: chattr +i *      

                                              # 仅仅对当前目录生效,针对文件夹。解锁: chatrr -i ./    并且需要: sudo chattr -i ./*

需要指定文件进行加锁:


mv /etc/shadow /etc/shadow.bak     

pwconv

# 重新设置root密码

#---------- fsck  修复磁盘 -----------#

parted -l                                 # 查看磁盘的格式

fsck -t msdos -a /dev/hda5   # 修复磁盘到指定格式

fsck -fy  /dev/vda1 


#----------------------------------------------------------------------


scp -P 22 192.168.80.128:/etc/yum.repos.d/centos.repo /etc/yum.repos.d/

#复制ip服务器里面的文件到本地,~/ 波浪号表示用户家目录

# -P 指定端口 22


scp -P 22 /etc/yum.repos.d/centos.repo  root@192.168.80.128:/etc/yum.repos.d/

#将本地文件上传到远程服务器====root@跟上用户名


scp -P 22 -r /etc/yum.repos.d/* root@a1.eisc.top:/root

                                       # 传输服务器的文件到目的主机



sed  -i '/ntp/i\1111\n 2222 \n 3333' 111.txt 

# sed -i 匹配字符 "ntp" 并插入多行内容\n换行

# i\ 匹配字符的前面插入, a\ 在后面插入


sed -i "s/echo/xxxxxx/g" `grep "echo" -rl /root/1.sh`

sed -i "s/abc/123/g" 1.sh #"s/原字符串/新字符串/g" 

# `grep "原字符串" -rl 所在目录`


sudo sed -i '/^$/d' 1.txt                           # 删除空行

sudo sed -i '/^[[:space:]]*$/d' 1.txt         # 删除带空格的空行


grep "model name" /proc/cpuinfo # 查看CPU信息


 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

                                                               # 查看cpu核心数


grep MemTotal /proc/meminfo # 查看内存

grep SwapTotal /proc/meminfo # 查看swap分区大小


echo ${var:0:5}                                     # echo 截取 变量 var 的字符串,从 第一个字符开始截取5字符

echo "scale=2;6/4" | bc    # echo 运算符计算,保留两位小数  bc:交互运算器 scale=2保留小数点后面两位


hexdump nginx                                      # 查看 16进制 可执行文件 的内存地址


#----- 查看内存 ------#

当/proc/meminfo中有MemAvailable时:(total-MemAvailable)/total×100%。

当/proc/meminfo中无MemAvailable时:(total–free-buffers-cached)/total×100%。




fdisk -l  # 查看磁盘


lastb | sort # 历史登陆记录,sort [sɔːt] 排序;字母升序排列

echo > /var/log/wtmp # 清空登陆记录





yum search ifconfig -y

yum install net-tools.x86_64 -y

# 安装 ifconfig 工具包

ifconfig |grep -w inet|awk 'NR==1{print$2}'

# 赛选出本机IP


shell 的增删改查: https://www.eisc.cn/index.php?c=read&id=165&page=1





# vi 编辑文本界面 快速输入行首行尾 

Shift+6 # 行首

Shift+4 # 行尾

Esc输入   :1   回车 # 第一行

Esc 输入  :$   回车 # 最后一行

Esc 输入  :set nu # 显示行号


vi 删除,在vi 编辑界面:

2dd # 直接输入2dd,光标向下数删除2行

u # 撤销



======   运算  =====

awk 'BEGIN{printf 8^(1/3)}' # 3次根号8的的值为2

awk 'BEGIN{printf 8^3}' # 8的3次方为512






# linux 压缩解压工具包

yum install -y zip unzip star gzip

 # 安装工具包  zip unzip star gzip


zip -r 1.zip /home/* # 压缩home目录所有文件为一个1.zip压缩文件包

 # -r : recurse into directories [ri' kɜːs]  kou 递归 [ˈɪntu] 到...哪里 [daɪˈrɛktəriz] 目录


unzip -o -d /home 1.zip

# 解压文件 1.zip 到/home目录

-o : overwrite files WITHOUT prompting 

# [ˌoʊvərˈraɪt] 覆盖; [faɪlz] 文件;  [wɪˈθaᴜt] 不 ; [ˈprɑmptɪŋ] 提醒

# -d :  extract files into exdir   [ˈɛkˌstrækt] 提取;文件到  dir目录



============   tar 说明   =============

-c, --create create a new archive  # -c,-创建,创建新的 [ˈɑrˌkaɪv] 存档 ou ka wei

# -C 大写C用于指定目录

-cf Create 1.tar from files foo and bar # 创建压缩包文件 1.tar 从文件和目录


-xf Extract all files from  # [ˈɛkˌstrækt] [ɔl] 提取所有ek s zhua k t 文件,从压缩包里

-tvf List all files in 1.tar verbosely. # 列出所有文件在 1.tar 里,verbosely 



==  实际运用:

tar -cvf 2.tar 1.txt # 将文本进行压缩为2.tar

# 压缩 .gz 参数加 z 为。gz 文件,如:tar -zcvf 1.gz 1.txt

# bz2 格式: -jcvf

tar -cvf 2.tar /www  # 压缩一个 www 目录为 2.tar 文件


tar -zcvf  # .gz压缩; c 是创建压缩,x 解压

# tar -jcvf # .bz2 压缩


tar -xvf 2.tar -C /root/3

# 将2.tar 文件,解压到目录/root/3

# -xf 提取,vf 所有,-C 到指定目录

# tar -zxvf  # .gz 格式,加z

# tar -jxvf  # .bz2 格式 ,加 j


tar -xvf 1.tar.xz


sudo apt install -y unrar

unrar x test.rar

                        # 用 unrar x 解压  rar 文件



# 目录介绍

~/  代表当前用户家目录;验证: 进入任意目录,然后 cd ~/

/home代表所有普通用户家目录;

user add eisc # 创建目录

ls /home # 发现有用户目录存在



# 系统文件介绍


/etc/profile # 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.

# 并从/etc/profile.d目录的配置文件中搜集shell的设置.


/etc/bashrc # 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.



# 波浪符号:表示各自登录用户的家目录根目录


~/.bash_profile # 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该

# 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.


~/.bashrc # 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.


~/.profile # 在Debian中使用.profile文件代 替.bash_profile文件

# .profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。


~/.bash_logout # 当每次退出系统(退出bash shell)时,执行该文件. 













# linux 防火墙    -- httpd 清楚防火墙

===============  centos 6.8 系列  ===============

-------  手动配置  ---------

vi /etc/sysconfig/iptables # 防火墙配置文件


# -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# 添加防火墙样本:开放22 和80 端口


service iptables restart # 重启防火墙

service httpd restart # 重启 httpd 服务


=================  centos 7 系列  ==================

firewall-cmd --query-port=8080/tcp #  先查看端口是否开放

#  firewall [ˈfaɪəwɔːl]  防火墙


firewall-cmd --permanent --add-port=8022/tcp

# 开放端口8022


firewall-cmd --permanent --add-port=3000-4000/tcp

# 开放多个端口,指定范围


firewall-cmd --permanent --remove-port=8080/tcp

# 移除端口


firewall-cmd --reload # 重启防火墙

firewall-cmd --zone=public --list-ports # 查看开启的端口


# 直接关闭防火墙

--------  直接关闭防火墙  -------

systemctl stop firewalld.service  # 临时关闭,一般选择这个

systemctl disable firewalld.service # 永久关闭

systemctl restart httpd.service # 重启

firewall-cmd --state # 查看防火墙状态




------------  linux ping报错Name or service not known

vi /etc/resolv.conf

nameserver 8.8.8.8

nameserver 8.8.4.4


----  centos 6.8 重启网卡

 /etc/init.d/network restart

service network restart


本文章最后由 admin2024-12-31 16:05 编辑

提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:linux基础命令大全

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息