linux(3) 操作系统基本信息的获取

20 篇文章 0 订阅


1   linux 操作系统基本信息的获取

 

:包括 用户名,系统版本,系统内核版本,ip,

 

 

man     uname:   查看 uname 指令

 

 

   

uname   --help

Usage: uname [OPTION]...

Print certain system information.  With no OPTION, same as -s.

 

  -a, --all                print all information, in the following order,

                             except omit -p and -i if unknown:

  -s, --kernel-name        print the kernel name

  -n, --nodename           print the network node hostname

  -r, --kernel-release     print the kernel release

  -v, --kernel-version     print the kernel version

  -m, --machine            print the machine hardware name

  -p, --processor          print the processor type or "unknown"

  -i, --hardware-platform  print the hardware platform or "unknown"

  -o, --operating-system   print the operating system

      --help     display this help and exit

      --version  output version information and exit

 

 

[root@aliyun247 /]# uname -m
x86_64
[root@aliyun247 /]# uname -o
GNU/Linux
[root@aliyun247 /]# tput sgr0
[root@aliyun247 /]# uname -r
2.6.32-431.23.3.el6.x86_64
[root@aliyun247 /]# uname -a
Linux aliyun247 2.6.32-431.23.3.el6.x86_64 #1 SMP Thu Jul 31 17:20:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@aliyun247 /]# uname -n 
aliyun247

 

 

2   获取网络配置信息

 

curl --help
Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only
    --anyauth       Pick "any" authentication method (H)
 -a/--append        Append to target file when uploading (F/SFTP)
    --basic         Use HTTP Basic Authentication (H)
    --cacert <file> CA certificate to verify peer against (SSL)
    --capath <directory> CA directory to verify peer against (SSL)
 -E/--cert <cert[:passwd]> Client certificate file and password (SSL)
    --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)
    --ciphers <list> SSL ciphers to use (SSL)
    --compressed    Request compressed response (using deflate or gzip)
 -K/--config <file> Specify which config file to read
    --connect-timeout <seconds> Maximum time allowed for connection
 -C/--continue-at <offset> Resumed transfer offset
 -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)
 -c/--cookie-jar <file> Write cookies to this file after operation (H)
    --create-dirs   Create necessary local directory hierarchy
    --crlf          Convert LF to CRLF in upload
    --crlfile <file> Get a CRL list in PEM format from the given file
 -d/--data <data>   HTTP POST data (H)
    --data-ascii <data>  HTTP POST ASCII data (H)
    --data-binary <data> HTTP POST binary data (H)
    --data-urlencode <name=data/name@filename> HTTP POST data url encoded (H)
    --delegation STRING GSS-API delegation permission
    --digest        Use HTTP Digest Authentication (H)
    --disable-eprt  Inhibit using EPRT or LPRT (F)
    --disable-epsv  Inhibit using EPSV (F)
 -D/--dump-header <file> Write the headers to this file
    --egd-file <file> EGD socket path for random data (SSL)
    --engine <eng>  Crypto engine to use (SSL). "--engine list" for list
 -f/--fail          Fail silently (no output at all) on HTTP errors (H)
 -F/--form <name=content> Specify HTTP multipart POST data (H)
    --form-string <name=string> Specify HTTP multipart POST data (H)
    --ftp-account <data> Account data to send when requested by server (F)
    --ftp-alternative-to-user <cmd> String to replace "USER [name]" (F)
    --ftp-create-dirs Create the remote dirs if not present (F)
    --ftp-method [multicwd/nocwd/singlecwd] Control CWD usage (F)
    --ftp-pasv      Use PASV/EPSV instead of PORT (F)
 -P/--ftp-port <address> Use PORT with address instead of PASV (F)
    --ftp-skip-pasv-ip Skip the IP address for PASV (F)
    --ftp-ssl       Try SSL/TLS for ftp transfer (F)
    --ftp-ssl-ccc   Send CCC after authenticating (F)
    --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)
    --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)
    --ftp-ssl-reqd  Require SSL/TLS for ftp transfer (F)
 -G/--get           Send the -d data with a HTTP GET (H)
 -g/--globoff       Disable URL sequences and ranges using {} and []
 -H/--header <line> Custom header to pass to server (H)
 -I/--head          Show document info only
 -h/--help          This help text
    --hostpubmd5 <md5> Hex encoded MD5 string of the host public key. (SSH)
 -0/--http1.0       Use HTTP 1.0 (H)
    --ignore-content-length  Ignore the HTTP Content-Length header
 -i/--include       Include protocol headers in the output (H/F)
 -k/--insecure      Allow connections to SSL sites without certs (H)
    --interface <interface> Specify network interface/address to use
 -4/--ipv4          Resolve name to IPv4 address
 -6/--ipv6          Resolve name to IPv6 address
 -j/--junk-session-cookies Ignore session cookies read from file (H)
    --keepalive-time <seconds> Interval between keepalive probes
    --key <key>     Private key file name (SSL/SSH)
    --key-type <type> Private key file type (DER/PEM/ENG) (SSL)
    --krb <level>   Enable Kerberos with specified security level (F)
    --libcurl <file> Dump libcurl equivalent code of this command line
    --limit-rate <rate> Limit transfer speed to this rate
 -l/--list-only     List only names of an FTP directory (F)
    --local-port <num>[-num] Force use of these local port numbers
 -L/--location      Follow Location: hints (H)
    --location-trusted Follow Location: and send auth to other hosts (H)
 -M/--manual        Display the full manual
    --max-filesize <bytes> Maximum file size to download (H/F)
    --max-redirs <num> Maximum number of redirects allowed (H)
 -m/--max-time <seconds> Maximum time allowed for the transfer
    --negotiate     Use HTTP Negotiate Authentication (H)
 -n/--netrc         Must read .netrc for user name and password
    --netrc-optional Use either .netrc or URL; overrides -n
 -N/--no-buffer     Disable buffering of the output stream
    --no-keepalive  Disable keepalive use on the connection
    --no-sessionid  Disable SSL session-ID reusing (SSL)
    --noproxy       Comma-separated list of hosts which do not use proxy
    --ntlm          Use HTTP NTLM authentication (H)
 -o/--output <file> Write output to <file> instead of stdout
    --pass  <pass>  Pass phrase for the private key (SSL/SSH)
    --post301       Do not switch to GET after following a 301 redirect (H)
    --post302       Do not switch to GET after following a 302 redirect (H)
 -#/--progress-bar  Display transfer progress as a progress bar
 -x/--proxy <host[:port]> Use HTTP proxy on given port
    --proxy-anyauth Pick "any" proxy authentication method (H)
    --proxy-basic   Use Basic authentication on the proxy (H)
    --proxy-digest  Use Digest authentication on the proxy (H)
    --proxy-negotiate Use Negotiate authentication on the proxy (H)
    --proxy-ntlm    Use NTLM authentication on the proxy (H)
 -U/--proxy-user <user[:password]> Set proxy user and password
    --proxy1.0 <host[:port]> Use HTTP/1.0 proxy on given port
 -p/--proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)
    --pubkey <key>  Public key file name (SSH)
 -Q/--quote <cmd>   Send command(s) to server before file transfer (F/SFTP)
    --random-file <file> File for reading random data from (SSL)
 -r/--range <range> Retrieve only the bytes within a range
    --raw           Pass HTTP "raw", without any transfer decoding (H)
 -e/--referer       Referer URL (H)
 -O/--remote-name   Write output to a file named as the remote file
    --remote-name-all Use the remote file name for all URLs
 -R/--remote-time   Set the remote file's time on the local output
 -X/--request <command> Specify request command to use
    --retry <num>   Retry request <num> times if transient problems occur
    --retry-delay <seconds> When retrying, wait this many seconds between each
    --retry-max-time <seconds> Retry only within this period
 -S/--show-error    Show error. With -s, make curl show errors when they occur
 -s/--silent        Silent mode. Don't output anything
    --socks4 <host[:port]> SOCKS4 proxy on given host + port
    --socks4a <host[:port]> SOCKS4a proxy on given host + port
    --socks5 <host[:port]> SOCKS5 proxy on given host + port
    --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy
    --socks5-gssapi-service <name> SOCKS5 proxy service name for gssapi
    --socks5-gssapi-nec  Compatibility with NEC SOCKS5 server
 -Y/--speed-limit   Stop transfer if below speed-limit for 'speed-time' secs
 -y/--speed-time    Time needed to trig speed-limit abort. Defaults to 30
 -2/--sslv2         Use SSLv2 (SSL)
 -3/--sslv3         Use SSLv3 (SSL)
    --stderr <file> Where to redirect stderr. - means stdout
    --tcp-nodelay   Use the TCP_NODELAY option
 -t/--telnet-option <OPT=val> Set telnet option
 -z/--time-cond <time> Transfer based on a time condition
 -1/--tlsv1         Use TLSv1 (SSL)
    --trace <file>  Write a debug trace to the given file
    --trace-ascii <file> Like --trace but without the hex output
    --trace-time    Add time stamps to trace/verbose output
 -T/--upload-file <file> Transfer <file> to remote site
    --url <URL>     Set URL to work with
 -B/--use-ascii     Use ASCII/text transfer
 -u/--user <user[:password]> Set server user and password
 -A/--user-agent <string> User-Agent to send to server (H)
 -v/--verbose       Make the operation more talkative
 -V/--version       Show version number and quit
 -w/--write-out <format> What to output after completion
 -q                 If used as the first parameter disables .curlrc

 

 

 

 

 curl -s   http://ipecho.net/plain :  查看外网 ip

 

 cat   /etc/resolv.conf :  dns 文件 

cat   /etc/resolv.conf   |grep 'nameserver'    |awk   '{print $NF}'       : 提取 dns值

cat   /etc/resolv.conf |grep 'nameserver' |awk '{print $2}'      : 提取 dns值  通过awk 分段提取 棒棒的

 ping  -c  2    imooc.com                     : ping 网络是否连接成功

 

[root@aliyun247 /]#  ping  -c  2   imooc.com
PING dnspod-vip3.mydnspod.net (119.28.48.218) 56(84) bytes of data.
64 bytes from 119.28.48.218: icmp_seq=1 ttl=44 time=120 ms
64 bytes from 119.28.48.218: icmp_seq=2 ttl=44 time=118 ms

--- dnspod-vip3.mydnspod.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1120ms
rtt min/avg/max/mdev = 118.950/119.478/120.006/0.528 ms
[root@aliyun247 /]# ping -c 1 baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=52 time=3.70 ms

--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 12ms
rtt min/avg/max/mdev = 3.707/3.707/3.707/0.000 ms
[root@aliyun247 /]# ping -c 1 baidu.com  &>/dev/null  && echo "Internet:Connected" || echo "Internet:Disconnected"
Internet:Connected

[root@aliyun247 /]# ping --help
ping: invalid option -- '-'
Usage: ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]
            [-p pattern] [-s packetsize] [-t ttl] [-I interface or address]
            [-M mtu discovery hint] [-S sndbuf]
            [ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
[root@aliyun247 /]# who
root     pts/0        2016-02-17 09:09 (59.108.68.244)
root     pts/1        2016-02-17 10:17 (59.108.68.244)

 

 

 

 

脚本优化

 

reset_terminal=$(tput sgr0)

os=$(unmae -o)

echo -e  "\E[32m" "Operating System Type:" $reset_terminal $os

os_name=$(cat /etc/issue |grep -e  'release')

echo -e "\E[32m" "Check System Version and Name:" $reset_terminal  $os_name

Architecture=$(uname -m)

echo -e "\E[32m" "Check Architecture:" $reset_terminal $Architecture

kernel_release=$(uname -r)

echo -e "\E[32m" "Check Kernel Release:" $reset_terminal $kernel_release

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值