Score:1

เหตุใดจึงมีไฟล์ "ข้อมูลไร้สาย" ในโฮมไดเร็กตอรี่ของฉัน

ธง ar

ฉันทำหลายอย่างโดยทำให้การเชื่อมต่ออินเทอร์เน็ตเร็วขึ้น และตอนนี้ฉันเห็นไฟล์ในโฮมไดเร็กตอรี่ของฉันชื่อ "wireless-info" ฉันไม่รู้ว่า tlp เพิ่มเข้าไปที่นั่นหรือเป็นหนึ่งในการทดลองที่ฉันลอง แต่การลบจะปลอดภัยหรือไม่ นี่คือลักษณะของไฟล์:

#!/bin/bash
#
# ลิขสิทธิ์ (ค) 2555
#
# ผู้แต่ง: Wild Man, Krytarik
#ตัวช่วย:chili555
#
# สคริปต์นี้รวบรวมข้อมูลที่จำเป็นสำหรับการแก้ไขปัญหาระบบไร้สาย
# การเชื่อมต่อ และบันทึกไว้ในไฟล์ข้อความ, ห่อไว้ในไฟล์เก็บถาวรหากเป็นเช่นนั้น
# เกินขีดจำกัดขนาด 19.5 kB สำหรับไฟล์แนบ ".txt" ในฟอรัม Ubuntu
#
#################################################### ############################
#
# โปรแกรมนี้เป็นซอฟต์แวร์ฟรี: คุณสามารถแจกจ่ายต่อและ/หรือแก้ไขได้
# ภายใต้เงื่อนไขของสัญญาอนุญาตสาธารณะทั่วไปของ GNU ที่เผยแพร่โดย
# the Free Software Foundation เวอร์ชัน 3 ของใบอนุญาต หรือ
# (ตามตัวเลือกของคุณ) เวอร์ชันที่ใหม่กว่า
#
#รายการนี้เผยแพร่โดยหวังว่าจะเป็นประโยชน์
#แต่ไม่มีการรับประกันใดๆ โดยไม่มีแม้แต่การรับประกันโดยปริยายของ
# ความสามารถทางการค้าหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ดู
# ใบอนุญาตสาธารณะทั่วไปของ GNU สำหรับรายละเอียดเพิ่มเติม
#
# คุณควรได้รับสำเนาสัญญาอนุญาตสาธารณะทั่วไปของกนู
#พร้อมกับโปรแกรมนี้. หากไม่มี โปรดดูที่ <http://www.gnu.org/licenses/>
#

SCRIPTDATE="2020-1-25 05:34 +0200"
FILEBASE="ข้อมูลไร้สาย"
OUTPUTDIR="$PWD"
OUTPUTDIRFB="/tmp"

MODMATCHES="(อากาศ|ar5|at7|ath[^3]?|b43|bcma|brcm|คาร์ล|ipw|iwl|ndis|r(818|8192[eu]|871|92su)|8(188|189 |192|723|812)[acde][esu]|rt[23567]|rtl|ssb|wl|(cfg|mac)80211)"
LSMODMATCHES="(wmi|(dell|ideapad)[-_]แล็ปท็อป)"
IFACEMATCHES="(wlan[0-9]|eth[0-9])"
DMESGMATCHES="(เฟิร์มแวร์|[n]เครือข่าย|sdio|SDIO)"
NMPROFMATCHES="\(\[การเชื่อมต่อ\]\|id=\|type=\|สิทธิ์=\|เชื่อมต่ออัตโนมัติ=\|\[802-11-wireless\]\|\[wifi\]\|ssid=\| bssid=\|mac-address\(-blacklist\)\?=\|mtu=\|\[802-1x\]\|[[:กราฟ:]]*ca-certs\?=\|\[ipv [46]\]\|เมธอด=\)"

DMESGEXCL="อุปกรณ์พกพา|(cfg|mac)80211"
MODINFOINCL="ชื่อไฟล์|สิทธิ์การใช้งาน|คำอธิบาย|ขึ้นอยู่กับ|retpoline|intree|ชื่อ|vermagic|parm"
MODPROBEXCL="(alsa-base|blacklist-(firewire|framebuffer|modem|oss|watchdog)|fglrx|nvidia|fbdev|bumblebee)"
PMUTILSEXCL="/etc/pm/(power.d/(95hdparm-apm|intel-audio-powersave|sata_alpm)|sleep.d/(10_grub-common|10_unattended-upgrades.*|novatel_3g.*))"

NETMGRNAMES=("NetworkManager" "Wicd" "ConnMan")
NETMGRPATHS=("/usr/sbin/NetworkManager" "/usr/sbin/wicd" "/usr/sbin/connmand")
DEC2BI=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 })
DEC2HEX=($(printf "%02x " {0..255}))

ส่งออก LANG="en_US.UTF-8"
ส่งออก LANGUAGE="en_US:en"
ส่งออก LC_ALL="en_US.UTF-8"

ถ้า [ -t 0 ]; แล้ว
    DIALOGAPP="เทอร์มินัล"
    DIALOGBREAK=" "
    TERMOUT="ใช่"
elif [ -x /usr/bin/zenity ]; แล้ว
    DIALOGAPP="ความมีชีวิตชีวา"
    DIALOGBREAK="\n"
elif [ -x /usr/bin/kdialog ]; แล้ว
    DIALOGAPP="kdialog"
    DIALOGBREAK="\n"
อื่น
    ทางออก 1
ไฟ

ถ้า [ -t 0 ]; แล้ว
    SUDO="ซูโด"
elif [ -x /usr/bin/pkexec ]; แล้ว
    SUDO="pkexec"
elif [ -x /usr/bin/gksudo ]; แล้ว
    SUDO="gksudo"
    GKSUDO="ใช่"
elif [ -x /usr/bin/kdesudo ]; แล้ว
    SUDO="kdesudo"
    KDESUDO="ใช่"
    KDESUDOCMT=" ต้องการสิทธิ์ของผู้ดูแลระบบ โปรดป้อนรหัสผ่านของคุณ"
ไฟ

ไดอะล็อก_ข้อมูล () {
    กรณี $DIALOGAPP ใน
    เทอร์มินัล)
        พิมพ์f "%b\n" "$1"
        ;;
    เซนติตี้)
        เซนนิตี้ --info --text="$1"
        ;;
    kdialog)
        kdialog --msgbox "$1"
        ;;
    เอสแซค
}

ไดอะล็อกข้อผิดพลาด () {
    กรณี $DIALOGAPP ใน
    เทอร์มินัล)
        พิมพ์f "%b\n" "$1" >&2
        ;;
    เซนติตี้)
        เซนตี้ --error --text="$1"
        ;;
    kdialog)
        kdialog -- ข้อผิดพลาด "$1"
        ;;
    เอสแซค
}

ไดอะล็อกคำถาม () {
    กรณี $DIALOGAPP ใน
    เทอร์มินัล)
        อินพุตท้องถิ่น
        อ่าน -r -p "$1 [Y/n]: " INPUT
        เสียงสะท้อน "${INPUT,,}"
        ;;
    เซนติตี้)
        เซนนิตี้ --question --text="$1" || ก้อง "ไม่"
        ;;
    kdialog)
        kdialog --yesno "$1" || ก้อง "ไม่"
        ;;
    เอสแซค
}

ip6-mac () {
    สำหรับ MAC ใน "$@"; ทำ
    OCT1BI=${DEC2BI[0x${MAC:0:2}]}
    OCT1BI7=$((${OCT1BI:6:1} - 1))
    OCT1BIM="${OCT1BI:0:6}${OCT1BI7#-}${OCT1BI:7}"
    IP6S+=${IP6S:+$'\n'}"${DEC2HEX[2#$OCT1BIM]}${MAC:3:2}:${MAC:6:2}ff:fe${MAC:9: 2}:${MAC:12:2}${MAC:15:2}"
    เสร็จแล้ว
    sed 's/\(^\|:\)0\+\([[:alnum:]]\)/\1\2/g;s/^\([0:]\+\)/\ (::\|\1\)/' <<< "$IP6S"
}

ผู้บริหาร 3>&1 4>&2
ผู้บริหาร 1> "$OUTPUTDIR/$FILEBASE.txt" || {
    dialog_error "${TERMOUT+\n}ไม่สามารถเขียนไฟล์เอาต์พุตใน \"$OUTPUTDIR\",${DIALOGBREAK}ลองใน \"$OUTPUTDIRFB\" แทน${TERMOUT+\n}"
    OUTPUTDIR="$OUTPUTDIRFB"
    ผู้บริหาร 1> "$OUTPUTDIR/$FILEBASE.txt" || {
    dialog_error "${TERMOUT+\n}ไม่สามารถเขียนไฟล์ผลลัพธ์ใน \"$OUTPUTDIR\" ได้เช่นกัน ยกเลิก ${TERMOUT+\n}"
    ทางออก 1
    }
}
ผู้บริหาร 2>&1

printf "\n########## ข้อมูลไร้สาย START ##########\n\n"
REPORTDATE=$(วันที่ +"%d %b %Y %H:%M %Z %z")
SCRIPTDATE=$(วันที่ -u -d "$SCRIPTDATE" +"%d %b %Y %H:%M %Z %z")
LASTBOOTDT=$(ล่าสุด -FRn 1 รีบูต | sed -n 's/.*ระบบบูต[ ]\+\(.\+\) - .*/\1/p')
LASTBOOTDT=$(วันที่ -d "$LASTBOOTDT" +"%d %b %Y %H:%M %Z %z")
printf "รายงานจาก: %s\n\n" "$REPORTDATE"
printf "บูตล่าสุด: %s\n\n" "$LASTBOOTDT"
printf "สคริปต์จาก: %s\n" "$SCRIPTDATE"

printf "\n##### ปล่อย ###########################\n\n"
lsb_release -idrc

พิมพ์f "\n##### เคอร์เนล ############################\n\n"
uname-srvmpio
เสียงสะท้อน
sed 's/root=[^ ]*//;s/[ ]\+/, /g;s/^BOOT_IMAGE=[^ ]*/Parameters:/' /proc/cmdline

พิมพ์f "\n##### เดสก์ท็อป ###########################\n\n"
ถ้า [ -n "$DESKTOP_SESSION" ]; แล้ว
    DESKTOP="$DESKTOP_SESSION"
อื่น
    DESKTOP=$(sed -n 's/^Session=\(.\+\)$/\1/p' "$HOME/.dmrc")
    DESKDMRC=" (จาก ~/.dmrc)"
ไฟ
ถ้า [ -n "$DESKTOP" ]; แล้ว
    ถ้า [ -f "/usr/share/xsessions/$DESKTOP.desktop" ]; แล้ว
    DESKTOP=$(sed -n 's/^Name=\(.\+\)$/\1/p' "/usr/share/xsessions/$DESKTOP.desktop")
    ไฟ
    echo "${DESKTOP/ Session/}${DESKDMRC}"
อื่น
    printf "\nไม่สามารถระบุได้\n"
ไฟ

พิมพ์f "\n##### lspci #############################\n\n"
lspci -nnk | grep -iA 2 '^[^[:space:]].*net' | sed '/^--$/d; /^[^[:ช่องว่าง:]]/ i\'

พิมพ์f "\n##### lsusb #############################\n\n"
แย่แล้ว

printf "\n##### ข้อมูลการ์ด PCMCIA ##################\n\n"
ถ้า [ -x /sbin/pccardctl ]; แล้ว
    ข้อมูล pccardctl
อื่น
    echo "ไม่ได้ติดตั้ง 'pccardctl' (แพ็คเกจ \"pcmciautils\")"
ไฟ

พิมพ์f "\n##### rfkill ############################\n\n"
rfkill แสดงรายการทั้งหมด

printf "\n##### การบูตที่ปลอดภัย #######################\n\n"
ถ้า [ -x /usr/bin/mokutil ]; แล้ว
    โมคูทิล --sb-รัฐ
อื่น
    echo "ไม่ได้ติดตั้ง 'mokutil' (แพ็คเกจ \"mokutil\")"
ไฟ

พิมพ์f "\n##### lsmod #############################\n\n"
LSMOD=$(lsmod | egrep "(^|[[:punct:] ])($MOODMATCHES|$LSMODMATCHES)[^[:punct:] ]*([[:punct:] ]|$)")
เสียงสะท้อน "$LSMOD"

พิมพ์f "\n##### อินเทอร์เฟซ ########################\n\n"
สำหรับ IFACESFILE ใน $(ค้นหา /etc/network/interfaces{,.d} -type f 2> /dev/null | sort); ทำ
    IFACESFLCNT=$(sed '/^#/d;s/^wpa-psk [[:กราฟ:]]\+/wpa-psk <ลบคีย์ WPA>/' $IFACESFILE)
    ถ้า [ -n "$IFACESFLCNT" ]; แล้ว
    printf "[%s]\n%s\n\n" "$IFACESFILE" "$IFACESFLCNT"
    ไฟ
เสร็จแล้ว

พิมพ์f "\n##### ifconfig ##########################\n\n"
ถ้า [ -x /bin/ip ]; แล้ว
    IFCONFIG=$(แสดงที่อยู่ IP)
elif [ -x /sbin/ifconfig ]; แล้ว
    IFCONFIG=$(ifconfig -a)
อื่น
    echo "ไม่ได้ติดตั้ง 'ip' (แพ็คเกจ \"iproute2\")"
ไฟ
เสียงสะท้อน "$IFCONFIG"
IFCONFIG=$(sed -n '1h; 1!H; ${g;s/\n /\ /g;p}' <<< "$IFCONFIG")
IFACESETH=($(sed -n 's#^[0-9]\+: \([^ :]\+\):.* link/ether.*#\1#p; s/^\([ ^ :]\+\):\?.* \(ลิงก์ encap:Ethernet\|ether\).*/\1/p' <<< "$IFCONFIG"))
ถ้า (( ${#IFACESETH[@]} > 0 )); แล้ว
    IFETHMATCHES=${IFACESETH[@]}
    IFACEMATCHES="($IFACEMATCHES|(${IFETHMATCHES// /|}))"
ไฟ

printf "\n##### iwconfig ##########################\n\n"
iwconfig

printf "\n##### เส้นทาง #############################\n\n"
ถ้า [ -x /bin/ip ]; แล้ว
    แสดงเส้นทาง ip
elif [ -x /sbin/เส้นทาง ]; แล้ว
    เส้นทาง -n
อื่น
    echo "ไม่ได้ติดตั้ง 'ip' (แพ็คเกจ \"iproute2\")"
ไฟ

พิมพ์f "\n##### resolv.conf #######################\n\n"
stat -c "[%a %U %N]" /etc/resolv.conf
grep -v '^#' /etc/resolv.conf

printf "\n##### ผู้จัดการเครือข่าย ##################\n\n"
พิมพ์f "ติดตั้งแล้ว:\n\n"
สำหรับ NETMGRNR ใน "${!NETMGRPATHS[@]}"; ทำ
    ถ้า [ -f "${NETMGRPATHS[$NETMGRNR]}" ]; แล้ว
    NETMGRINST+=("${NETMGRNAMES[$NETMGRNR]}")
    ไฟ
เสร็จแล้ว
printf "\t%s\n" "${NETMGRINST[@]:-ไม่พบเลย}"
NETMGRMATCHES=${NETMGRPATHS[@]/#*\//|}
NETMGRMATCHES=${NETMGRMATCHES// |/|}
NETMGRMATCHES="(${NETMGRMATCHES#|})"
printf "\n กำลังทำงาน:\n\n"
ps -ef | egrep "( |/)$NETMGRMATCHES($| )" || printf "\tไม่พบ\n"

พิมพ์f "\n##### ข้อมูล NetworkManager ###############\n\n"
ถ้า [ -x /usr/bin/nm-tool ]; แล้ว
    nm-เครื่องมือ
elif [ -x /usr/bin/nmcli ]; แล้ว
    nmcli -f แสดงอุปกรณ์ทั้งหมด | sed '/^GENERAL.DEVICE:[ ]\+lo$/,/^$/d; /^AP\[[0-9]\+\]\./d'
    เสียงสะท้อน
    nmcli -f SSID, BSSID, MODE, CHAN, FREQ, RATE, SIGNAL, BARS, SECURITY, ACTIVE, IN-USE รายการ wifi ของอุปกรณ์
อื่น
    echo "ไม่ได้ติดตั้ง NetworkManager (แพ็คเกจ \"network-manager\")"
ไฟ

พิมพ์f "\n##### NetworkManager.state ##############\n\n"
"$SUDO" cat -s /var/lib/NetworkManager/NetworkManager.state

พิมพ์f "\n##### NetworkManager config #############\n\n"
สำหรับ NMCONFFILE ใน $(ค้นหา /{etc,usr/lib}/NetworkManager/{NetworkManager.conf,conf.d} -name "*.conf" 2> /dev/null | sort); ทำ
    NMCONFCNT=$(egrep -v '^(#|$)' $NMCONFFILE)
    ถ้า [ -n "$NMCONFCNT" ]; แล้ว
    printf "[[%s]]\n%s\n\n" "$NMCONFFILE" "$NMCONFCNT"
    ไฟ
เสร็จแล้ว

พิมพ์f "\n##### โปรไฟล์ NetworkManager ###########\n\n"
ถ้า [ -d /etc/NetworkManager/system-connections ]; แล้ว
    ถ้า [ -n "$SUDO" ]; แล้ว
    กับดัก "" 2 3
    NMPROFILES=$(ค้นหา /etc/NetworkManager/system-connections -maxความลึก 1 -type f -exec $SUDO${GKSUDO+ -D grep --}${KDESUDO+ -d --comment "<b>grep</b>$ KDESUDOCMT" --} grep -vH '^$' {} +) && SUDOSUCCESS="yes" || SUDOSUCCESS="ไม่"
    กับดัก 2 3
    ถ้า [ "$SUDOSUCCESS" = "ใช่" ]; แล้ว
        ORIGIFS="$IFS"
        ไอเอฟเอส=$'\n'
        สำหรับ NMWLPRFFILE ใน $(sed -n 's/^\(.\+\):type=\(802-11-wireless\|wifi\).*$/\1/p' <<< "$NMPROFILES" ); ทำ
        NMWLPRFFLPERMS=$(stat -c "%a %U" "$NMWLPRFFILE")
        NMWLPROFILE=($(sed -n "s;^$NMWLPRFFILE:\($NMPROFMATCHES.*\)$;\1 |;p" <<< "$NMPROFILES"))
        NMWLPROFSOUT+="[[$NMWLPRFFILE]] ($NMWLPRFFLPERMS)"$'\n'"${NMWLPROFILE[@]}"$'\n\n'
        เสร็จแล้ว
        IFS="$ORIGIFS"
        sed 's# | \[#\n\[#g;s#\] |#\]#g;s/ |$//' <<< "$NMWLPROFSOUT" | sed '/^\[[^]]*\]$/d'
    อื่น
        printf "\nการรับสิทธิ์ผู้ดูแลระบบล้มเหลว\n"
    ไฟ
    อื่น
    echo "ไม่พบวิธีการรับสิทธิ์ผู้ดูแลระบบ"
    ไฟ
อื่น
    echo "ไม่พบโปรไฟล์ NetworkManager"
ไฟ

printf "\n##### การกำหนดค่า Netplan ####################\n\n"
สำหรับ NPLANFILE ใน $(find /{lib,etc,run}/netplan -name "*.yaml" 2> /dev/null | sort); ทำ
    NPLANFLCNT=$(egrep -v '^(#|$)' $NPLANFILE)
    ถ้า [ -n "$NPLANFLCNT" ]; แล้ว
    printf "[%s]\n%s\n\n" "$NPLANFILE" "$NPLANFLCNT"
    ไฟ
เสร็จแล้ว

printf "\n##### ฉัน reg ได้รับ ########################\n\n"
ถ้า [ -x /sbin/iw ]; แล้ว
    ถ้า IWREGGET=$(iw reg ได้รับ 2>&1) && [ -f /etc/timezone ]; แล้ว
    ภูมิภาค=$(cat /etc/timezone)
    printf "ภูมิภาค: %s (ตามเขตเวลาที่กำหนด)\n\n" "$REGION"
    ไฟ
    echo "$IWREGGET"
อื่น
    echo "'iw' ไม่ได้ติดตั้ง (แพ็คเกจ \"iw\")"
ไฟ

printf "\n##### iwlist ช่อง ###################\n\n"
ถ้า [ -x /sbin/iwlist ]; แล้ว
    iwlist ชาน
อื่น
    echo "ไม่ได้ติดตั้ง 'iwlist' (แพ็คเกจ \"wireless-tools\")"
ไฟ

printf "\n##### iwlist สแกน #######################\n\n"
ถ้า [ -x /sbin/iwlist ]; แล้ว
    ถ้า [ -n "$SUDO" ]; แล้ว
    กับดัก "" 2 3
    IWLISTSCAN=$($SUDO${KDESUDO+ -d} iwlist scan) && SUDOSUCCESS="ใช่" || SUDOSUCCESS="ไม่"
    กับดัก 2 3
    ถ้า [ "$SUDOSUCCESS" = "ใช่" ]; แล้ว
        ถ้า [[ $IWLISTSCAN = *ความถี่:* ]]; แล้ว
        printf "อัตราการครอบครองช่อง:\n\n"
        grep '^[ ]*ความถี่:' <<< "$IWLISTSCAN" | จัดเรียง | ยูนิค -c | sed 's/^[ ]\+\([ ][0-9]\+\)[ ]\+/ \1 AP เปิด /'
        เสียงสะท้อน
        ไฟ
        grep -v '^[ ]*IE: ไม่รู้จัก:' <<< "$IWLISTSCAN"
    อื่น
        printf "\nการรับสิทธิ์ผู้ดูแลระบบล้มเหลว\n"
    ไฟ
    อื่น
    echo "ไม่พบวิธีการรับสิทธิ์ผู้ดูแลระบบ"
    ไฟ
อื่น
    echo "ไม่ได้ติดตั้ง 'iwlist' (แพ็คเกจ \"wireless-tools\")"
ไฟ

printf "\n##### โมดูลข้อมูล ######################\n\n"
MODULES=$(egrep -o "^$MODMATCHES[^ ]*" <<< "$LSMOD")
สำหรับ MODULE ใน $MODULES; ทำ
    MODINFO=$(modinfo $MODULE | egrep -i "^$MODINFOINCL:")
    printf "[%s]\n%s\n\n" "$MODULE" "$MODINFO"
เสร็จแล้ว

printf "\n##### พารามิเตอร์โมดูล #################\n\n"
สำหรับ MODULE ใน $MODULES; ทำ
    ถ้า [ -d /sys/module/$MODULE/parameters ]; แล้ว
    MODPARAMS=$(grep -H '^[[:graph:]]' /sys/module/$MODULE/parameters/* | sed 's#^.*/##;s/:/: /')
    printf "[%s]\n%s\n\n" "$MODULE" "$MODPARAMS"
    ไฟ
เสร็จแล้ว

พิมพ์f "\n##### /etc/modules ######################\n\n"
grep -v '^#' /etc/modules

printf "\n##### ตัวเลือก modprobe ##################\n\n"
สำหรับ MODPROBEFILE ใน $(find /etc/modprobe.{conf,d} -name "*.conf" -regextype posix-egrep -not -regex ".*$MODPROBEXCL.*" 2> /dev/null | sort); ทำ
    MODPROBEOPTS=$(egrep -v '^(#|$)' $MODPROBEFILE)
    ถ้า [ -n "$MODPROBEOPTS" ]; แล้ว
    printf "[%s]\n%s\n\n" "$MODPROBEFILE" "$MODPROBEOPTS"
    ไฟ
เสร็จแล้ว

พิมพ์f "\n##### rc.local ##########################\n\n"
grep -v '^#' /etc/rc.local

printf "\n##### pm-utils ##########################\n\n"
สำหรับ PMUTILSFILE ใน $(find /etc/pm/*.d \( -type f -o -type l \) -regextype posix-egrep -not -regex "$PMUTILSEXCL" | sort); ทำ
    PMUTFLCONT=$(egrep -v '^(#|$)' $PMUTILSFILE)
    ถ้า [ -n "$PMUTFLCONT" ]; แล้ว
    PMUTFLPERMS=$(stat -c "%a %U" $PMUTILSFILE)
    printf "[%s] (%s)\n%s\n\n" "$PMUTILSFILE" "$PMUTFLPERMS" "$PMUTFLCONT"
    ไฟ
เสร็จแล้ว

printf "\n##### กฎ udev ########################\n\n"
สำหรับ UDEVRLFILE ใน $(find /etc/udev/rules.d -name "*net*.rules" | sort); ทำ
    UDEVRULES=$(grep -B1 '^[^#]' $UDEVRLFILE | egrep -v '^(-)?$')
    ถ้า [ -n "$UDEVRULES" ]; แล้ว
    printf "[%s]\n%s\n\n" "$UDEVRLFILE" "$UDEVRULES"
    ไฟ
เสร็จแล้ว

พิมพ์f "\n##### dmesg ###############################\n\n"
"$SUDO" dmesg | หาง -n 100 | egrep "[[:punct:] ]($MOODMATCHES|$IFACEMATCHES|$DMESGMATCHES)[^[:punct:] ]*[[:punct:] ]" | egrep -v "$DMESGEXCL" | ยูนิค -cf 2 | sed 's/^[ ]\+1[ ]\+//;s/^[ ]\+\([0-9]\+\)[ ]\+\(.\+\)$/\2 (ซ้ำ \1 ครั้ง)/'

printf "\n############ ข้อมูลไร้สาย END ############\n\n"

ผู้บริหาร 2>&4 4>&-
ผู้บริหาร 1>&3 3>&-

##### การปิดบังที่อยู่ MAC #####

RESULTS=$(cat -s "$OUTPUTDIR/$FILEBASE.txt")$'\n'

ORIGIFS="$IFS"
ไอเอฟเอส=$'\n'

IFACESIDS=($(sed -n "/\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}/ {/\(00 :\)\{5\}00/! {s/^[0-9]\+: \([^ :]\+\):.*/'\1'/p; s/^\([ ^ :]\+\):\? .*/'\1'/p}}" <<< "$IFCONFIG"))
IFACESMACS=($(sed -n '/\(00:\)\{5\}00/! s#.*\(HWaddr\|link/[^ ]\+\|ether\) \(\([ [:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}\).*#\2#p' <<< "$IFCONFIG"))
IFACESIP6S=($(ip6-mac "${IFACESMACS[@]}"))

WLAPSIWLIDS=($(sed -n "/^[ ]*เซลล์ [0-9]\+/,/^[ ]*ESSID:/ {/^[ ]*เซลล์ [0-9]\+/h; / ^[ ]*ESSID:/ {H;g;s/^[ ]*เซลล์ 0\?\([0-9]\+\).*ESSID:\"\(.*\)\"$/' \2' [AC\1]/p}}" <<< "$IWLISTSCAN"))
WLAPSIWLMACS=($(sed -n 's/^[ ]*Cell [0-9]\+.*Address: \([^ ]\+\)/\1/p' <<< "$IWLISTSCAN") )
WLAPSIWLIP6S=($(ip6-mac "${WLAPSIWLMACS[@]}"))

WLAPSNMRAW=$(sed -n '/^##### ข้อมูล NetworkManager #####/,/^##### / {/^[ ]*Wireless Access Points/,/^$/ {/Wireless จุดเชื่อมต่อ/d;s/^[ ]\+\*\?//;s/:[ ]\+/\t/;p}; /^SSID[ ]\+BSSID[ ]\+/,/^ $/ {/^SSID[ ]\{2,\}BSSID[ ]\{2,\}/d;s/[ ]\{2,\}/\t/;p}}' <<< "$ ผล")
WLAPSNMIDS=($(awk -F '\t' '{พิมพ์ "'\''" $1 "'\''"}' <<< "$WLAPSNMRAW"))
WLAPSNMMACS=($(grep -o '\([[:alnum:]]\{2\}:\)\{5\}[[:alnum:]]\{2\}' <<< "$WLAPSNMRAW "))
WLAPSNMIP6S=($(ip6-mac "${WLAPSNMMACS[@]}"))

IFS="$ORIGIFS"

สำหรับ IFACENR ใน "${!IFACESMACS[@]}"; ทำ
    MACMASKSED+="s;${IFACESMACS[$IFACENR]};<MAC ${IFACESIDS[$IFACENR]} [IF$(($IFACENR + 1))]>;I;"
    MACMASKSED+=" /${IFACESIP6S[$IFACENR]}/ s;${IFACESIP6S[$IFACENR]/#\(::/\(};<IP6 ${IFACESIDS[$IFACENR]} [IF$(($ IFACENR + 1))]>;I;"
    IFACEMACC=${IFACESMACS[$IFACENR]//:/}
    ถ้า [[ ${IFACESIDS[$IFACENR],,} =~ ${IFACEMACC,,} ]]; แล้ว
    MACMASKSED+="s;\(${IFACESIDS[$IFACENR]:1:3}\)$IFACEMACC;\1<IF จาก MAC [IF$(($IFACENR + 1))]>;Ig;"
    ไฟ
เสร็จแล้ว

สำหรับ WLAPIWLNR ใน "${!WLAPSIWLMACS[@]}"; ทำ
    MACMASKSED+="s;${WLAPSIWLMACS[$WLAPIWLNR]};<MAC ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;"
    MACMASKSED+=" /${WLAPSIWLIP6S[$WLAPIWLNR]}/ s;${WLAPSIWLIP6S[$WLAPIWLNR]/#\(::/\(};<IP6 ${WLAPSIWLIDS[$WLAPIWLNR]}>;I;"
เสร็จแล้ว

สำหรับ WLAPNMNR ใน "${!WLAPSNMMACS[@]}"; ทำ
    MACMASKSED+="s;${WLAPSNMMACS[$WLAPNMNR]};<MAC ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($WLAPNMNR + 1))]>;I;"
    MACMASKSED+=" /${WLAPSNMIP6S[$WLAPNMNR]}/ s;${WLAPSNMIP6S[$WLAPNMNR]/#\(::/\(};<IP6 ${WLAPSNMIDS[$WLAPNMNR]} [AN$(($ WLAPNMNR + 1))]>;I;"
เสร็จแล้ว

sed "$MACMASKSED /\([[:alnum:]]\{2\}:\)\{6,\}/! s/\([[:alnum:]]\{2\}:\)\ {5\}[[:alnum:]]\{2\}/<ที่อยู่ MAC>/g" <<< "$RESULTS" > "$OUTPUTDIR/$FILEBASE.txt"

##### ตอนจบ #####

dialog_info "${TERMOUT+\n}ผลลัพธ์ที่บันทึกไว้ใน \"$OUTPUTDIR/$FILEBASE.txt\".${TERMOUT+\n}"

ถ้า (( $(stat -c %s "$OUTPUTDIR/$FILEBASE.txt") > 19968 )); แล้ว
    tar -czf "$OUTPUTDIR/$FILEBASE.tar.gz" -C "$OUTPUTDIR" "$FILEBASE.txt" && \
    "ผลยังเก็บถาวรใน \"$OUTPUTDIR/$FILEBASE.tar.gz\",${DIALOGBREAK}เนื่องจากเกินขีดจำกัดขนาด 19.5 kB สำหรับไฟล์แนบ \".txt\"${DIALOGBREAK}ในฟอรัม Ubuntu$ {TERMOUT+\n}" || \
    "ผลลัพธ์เกินขีดจำกัดขนาด 19.5 kB สำหรับไฟล์แนบ \".txt\" ${DIALOGBREAK}ในฟอรัม Ubuntu แต่ไม่สามารถสร้างไฟล์เก็บถาวร${TERMOUT+\n}"
ไฟ

ถ้า [ -x /usr/bin/pastebinit ] && ping -nc 3 -w 6 -i 0.2 paste.ubuntu.com > /dev/null 2>&1; แล้ว
    PASTEBIN=$(dialog_question "คุณต้องการโพสต์${DIALOGBREAK}ไปยังผู้ให้บริการ 'pastebinit' เริ่มต้นของคุณด้วยหรือไม่")
    ถ้า [[ ! $PASTEBIN =~ ^ไม่?$ ]]; แล้ว
    PASTERESULT=$(pastebinit -i "$OUTPUTDIR/$FILEBASE.txt" -f ข้อความ 2>&1) && PASTESUCCESS="ใช่"
    ถ้า [ "$PASTESUCCESS" = "ใช่" ]; แล้ว
        dialog_info "${TERMOUT+\n}Pastebin สำเร็จ:\n\n${PASTERESULT}${TERMOUT+\n}"
    อื่น
        ถ้า [ -n "$PASTERESULT" ]; แล้ว
        dialog_error "${TERMOUT+\n}Pastebin ล้มเหลว ข้อความแสดงข้อผิดพลาดคือ:\n\n${PASTERESULT}${TERMOUT+\n}"
        อื่น
        dialog_error "${TERMOUT+\n}Pastebin ล้มเหลว ไม่ได้รับข้อความแสดงข้อผิดพลาด${TERMOUT+\n}"
        ไฟ
    ไฟ
    อื่น
    เสียงสะท้อน
    ไฟ
ไฟ

แก้ไข: ฉันเห็นว่ามีข้อความว่า "ผู้ช่วย: chili555" ที่ด้านบน และ @chili555 เป็นผู้ใช้ AskUbuntu ที่ช่วยฉันอย่างมากในการเพิ่มความเร็วการเชื่อมต่อเครือข่าย

ไฟล์ปลอดภัยที่จะลบหรือไม่

chili555 avatar
cn flag
คำตอบด้านล่างค่อนข้างถูกต้อง ลบได้อย่างปลอดภัย!
AlexFullinator avatar
ar flag
@chili555 ว้าว ฉันดีใจที่คุณเห็นสิ่งนี้ สคริปต์ยังมีประโยชน์อยู่หรือไม่แม้ว่าฉันจะเปลี่ยนกลับการทดลองที่ฉันทำในโพสต์นี้ (https://askubuntu.com/a/1386219/1200423) เช่น. มันยังมีประโยชน์หรือไม่มีประโยชน์เลยเพราะไม่มีอะไรใช้เลย? ป.ล. ฉันใช้สคริปต์นี้และมันดีมากสำหรับตอนที่ฉันต้องการรับข้อมูลเกี่ยวกับระบบไร้สายของฉัน! แก้ไข: ตอนนี้ฉันรู้แล้วว่าความคิดเห็นนี้ไร้ประโยชน์เนื่องจากฉันรู้ว่าฉันสามารถใช้สคริปต์นี้ได้ทุกเมื่อที่ต้องการสำหรับข้อมูลไร้สาย: P
chili555 avatar
cn flag
มันเป็นอัจฉริยะ! มีประโยชน์เสมอ! อย่างจริงจัง มันถูกใช้เพื่อรวบรวมรายละเอียดทั้งหมดที่เราสามารถใช้เพื่อวินิจฉัยปัญหาระบบไร้สาย เร็วกว่าและง่ายกว่าการขอจุดข้อมูลครั้งละหนึ่งหรือสองจุด แล้วจึงขอเพิ่มอีกสองสามจุด ทั้งนี้ขึ้นอยู่กับผลลัพธ์ ขอเพียงได้รับรายละเอียดทั้งหมดที่เราสามารถทำได้ในรายงานเดียวที่ชัดเจน เมื่อระบบไร้สายของคุณใช้งานได้แล้ว ก็จะไม่มีประโยชน์อีกต่อไป
AlexFullinator avatar
ar flag
@chili555 ค่ะ ผมจะเก็บไว้เพราะมันเย็นดี (ฮ่าๆ) เผื่อมีปัญหาในอนาคต ขอขอบคุณสำหรับการชี้แจง
chili555 avatar
cn flag
ฮ่าๆ! โทรหาเราได้ตลอดเวลาที่เราสามารถช่วยได้
Score:6
ธง ca

นี่เป็นสคริปต์ที่ค่อนข้างได้รับความนิยม สร้างโดยผู้ใช้ Ubuntu Forums และใช้เพื่อรวบรวมข้อมูลที่เกี่ยวข้องสำหรับการแก้ไขปัญหาการเชื่อมต่อไร้สาย

สคริปต์สามารถพบได้ที่นี่: https://github.com/UbuntuForums/wireless-info

สคริปต์ทำสิ่งต่อไปนี้:

  • สร้างไฟล์ ไร้สาย-info.txt ที่ตำแหน่งที่เรียกใช้จาก
  • นอกจากนี้ยังสร้างไฟล์เก็บถาวร wireless-info.tar.gz หากไฟล์มีขนาดเกิน 19.5 kB
  • ปิดบังข้อมูลที่ละเอียดอ่อนทั้งหมด เช่น ที่อยู่ MAC และคีย์ WPA/WEP โดยอัตโนมัติในลักษณะที่มีความหมาย
  • เสนอให้โพสต์ผลลัพธ์เป็นค่าเริ่มต้นของคุณ เพสต์บินิต หากมีการติดตั้งโปรแกรมและมีการเชื่อมต่ออินเทอร์เน็ตที่เชื่อถือได้เพียงพอ

ลบได้อย่างปลอดภัย เนื่องจากไม่ได้ทำอะไรมากไปกว่ารวบรวมข้อมูลนี้

AlexFullinator avatar
ar flag
ขอบคุณ! ฉันใช้สคริปต์นี้เพื่อรับข้อมูลเกี่ยวกับ wifi ของฉัน แต่ฉันไม่เคยรู้ว่ามันมาจากไหนและต้องการให้แน่ใจว่ามันเป็นสิ่งที่ฉันคิด
Score:2
ธง ng

การอ่านส่วนความคิดเห็นที่ด้านบนบอกเราว่าเป็นสคริปต์เพื่อรวบรวมข้อมูลเพื่อวัตถุประสงค์ในการแก้ปัญหา:

# สคริปต์นี้รวบรวมข้อมูลที่จำเป็นสำหรับการแก้ไขปัญหาระบบไร้สาย
# การเชื่อมต่อ และบันทึกไว้ในไฟล์ข้อความ, ห่อไว้ในไฟล์เก็บถาวรหากเป็นเช่นนั้น
# เกินขีดจำกัดขนาด 19.5 kB สำหรับไฟล์แนบ ".txt" ในฟอรัม Ubuntu

หากคุณไม่ต้องการสคริปต์อีกต่อไป คุณสามารถลบได้

ในอนาคตให้ความสนใจกับ ที่ไหน ไฟล์อยู่ในโฟลเดอร์บ้านของคุณ ตัวอย่างเช่น ไฟล์ใน ~/ดาวน์โหลด สามารถลบโฟลเดอร์ได้หากคุณไม่ต้องการหรือต้องการอีกต่อไป

AlexFullinator avatar
ar flag
ขอบคุณ Nmath มันอยู่ในโฮมโฟลเดอร์ของฉันและไม่ได้อยู่ในไดเร็กทอรีย่อย
Nmath avatar
ng flag
อา ไม่ควรมีไฟล์สำคัญใดๆ ห้อยอยู่ใต้โฮมโฟลเดอร์ของผู้ใช้โดยตรง สำหรับวัตถุประสงค์ขององค์กร การบันทึกไฟล์ไว้ที่นั่นอาจไม่ใช่เรื่องดี
AlexFullinator avatar
ar flag
โอ้. ฉันไม่รู้ด้วยซ้ำว่าทำไมมันถึงมีมันตั้งแต่แรก...ฉันไม่เคยรู้เลยว่าฉันเพิ่มมันเข้าไป

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา