zoukankan      html  css  js  c++  java
  • Linux 基本命令

    Linux 基本命令

    Linux是一个基于命令的系统,它有很多很强的命令. 但它也有桌面系统,比如KDE,Gnome等,甚至还有仿windows桌面. 但真正在Linux下面工作的人,却不喜欢这些桌面,独爱命令行. 当你学会了在命令行下工作的时候,会体会到它的强大(黑客大都在命令行下干活的). 要学好使用Linux,得从命令行开始. Les go now.

    Note:这里所讲的都是命令的基本用法,每个命令都有很多参数可用. 如果想了解其复杂使用,可以使用man查看命令帮助. 比如想看ls使用: man ls .

    1. 文件管理

    文件管理的基本命令包括ls, rm, mv, ln,mkdir,touch,cat ....

    - ls - 是查看文件列表.

     比如:要查看当前目录文件列表:ls.

            查看根目录文件列表:ls/

           查看文件列表并显示文件属性,包括时间,组, 用户, 权限等: ls -l

           按时间排序: ls-lctr

    如果文件熟悉的前面字符是d,表示是一个目录. 比如:

    drwxr-xr-x  2 root   root      4096 Apr 16  2007 filterip

    -rm 删除文件

     比如删除文件a: rm a

    删除目录b: rm -r b

    -mv 移动/改名文件

    比如改名文件名a为b: mv ab

    将文件a移动到目录/tmp:mv a /tmp

    -mkdir 创建目录

    比如创建目录 a: mkdir a

    -touch 修改文件时间/生成新文件

    比如生成一个新的空文件a: touch a

    修改文件b到当前时间:touch b

    -cat 输出文件内容

    比如输出文本文件A.TXT到屏幕:cat A.TXT.

    2. 进程管理

    -ps 查看系统进程

    比如查看当前用户进程: ps

    查看所有进程,包括活动非活动进程:ps -ef.

    查看所有java进程: ps-ef | grep java

    显示的第二列为进程号.

     -kill/killall 终止进程

    比如终止进程号500的进程:kill 500

    比如终止进程名为java的所有进程: killall p1

    -bg/fg 切换进程到后台/前台

    当进程运行在当前命令行的时候,可以按Ctrl+z暂停进程,再用命令bg将进程切换到后台.  相反,可以用命令fg将进程切换到前台. 有时候用&符号将进程运行在了后台,这个时候可以用fg将其切换到前台来.

    -查询系统进程树

    运行pstree可以输出当前进程树.

    3.用户管理

    -who 查看登陆的用户

    -adduser 为系统创建新的用户(需要root权限,下同)

    比如增加用户qq: adduser qq;

    增加用户qq,秘密123456:adduser -p 123456 qq

    -passwd修改用户密码

    比如修改qq的密码为666666:passwd qq,系统提示输入旧的密码,再输入新的密码.

    -userdel 删除用户

    比如删除用户qq: userdel aa

    -usermod 修改用户属性

    比如修改qq到admin组: usermod -p admin aa

     4.资源管理

    -top 查看系统资源状况

    top是最常用的查看系统当前状态的工具.可以查看CPU, memory, load等.

    -查看主机CPU信息

    运行cat /proc/cpuinfo, 输出:

    .....

    ......

    processor      : 3

    vendor_id      : GenuineIntel

    cpu family     : 6

    model          : 15

    model name     : Intel(R) Xeon(R)CPU           5120  @ 1.86GHz

    stepping       : 6

    cpuMHz         : 1862.093

    cache size     : 4096 KB

    physical id     : 3

    siblings       : 2

    coreid         : 7

    cpucores       : 2

    fdiv_bug       : no

    hlt_bug        : no

    f00f_bug       : no

    coma_bug       : no

    fpu            : yes

    fpu_exception   : yes

    cpuid level     : 10

    wp             : yes

    flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitords_cpl est tm2 xtpr

    bogomips       : 3724.15

    这个表示是第4颗CPU, 这个CPU有2个core, 也就是系统有4个双核的CPU. 如果系统开启了超线程,则等价于系统有8个CPU. (注: 超线程选项一般在BIOS中开启)

    -查询系统内存信息

    运行cat /proc/meminfo,可以查看当前系统的内存信息:

    MemTotal:     4149104 kB

    MemFree:       706788 kB

    Buffers:       220900 kB

    Cached:       2981520 kB

    SwapCached:         0 kB

    Active:       2734120 kB

    Inactive:      572920 kB

    HighTotal:    3276448 kB

    HighFree:      608064 kB

    LowTotal:      872656 kB

    LowFree:        98724 kB

    SwapTotal:    2096472 kB

    SwapFree:     2096472 kB

    Dirty:              4 kB

    Writeback:          0 kB

    Mapped:        129976 kB

    Slab:          117164 kB

    CommitLimit:   4171024 kB

    Committed_AS:  2507740 kB

    PageTables:      1968 kB

    VmallocTotal:   106488 kB

    VmallocUsed:     2984 kB

    VmallocChunk:   102920 kB

    HugePages_Total:    0

    HugePages_Free:     0

    Hugepagesize:    2048 kB

    -fdisk 查看硬盘分区

    fdisk -l /dev/sda 可以输出硬盘/dev/sda的分区列表,比如输出类似:

    Disk /dev/sda: 72.7 GB, 72746008576bytes

    255 heads, 63 sectors/track, 8844cylinders

    Units = cylinders of 16065 * 512 =8225280 bytes

       DeviceBoot     Start        End      Blocks   Id  System

    /dev/sda1  *          1         16      128488+  83  Linux

    /dev/sda2             17         526    4096575   83  Linux

    /dev/sda3            527         787    2096482+  82  Linux swap

    /dev/sda4            788        8844   64717852+   5  Extended

    /dev/sda5            788        2062   10241406   83  Linux

    /dev/sda6           2063        2572    4096543+  83  Linux

    /dev/sda7           2573        3082    4096543+  83  Linux

    /dev/sda8           3083        3569    3911796   83  Linux

    /dev/sda9           3570        8844   42371406   83  Linux

    这里可以看出,/dev/sda硬盘被分成了9个区, 带*号的是启动分区.

     

     -df 查看在用文件系统

    运行df -h, 输出类似:

    Filesystem           Size  Used Avail Use% Mounted on

    /dev/sda2            3.9G  278M  3.4G   8% /

    /dev/sda1            122M   17M   99M  15% /boot

    /dev/sda9             40G   21G   17G  56% /home

    /dev/sda8            3.7G   40M  3.5G   2% /opt

    none                 2.0G     0  2.0G   0% /dev/shm

    /dev/sda6            3.9G   40M  3.7G   2% /tmp

    /dev/sda5            9.7G  5.4G  3.8G  59% /usr

    /dev/sda7            3.9G  1.2G  2.5G  32% /var

    192.168.206.231:/opt/taobao                   3.9G  3.2G  537M  86% /opt/taobao

    192.168.206.231:/home/admin/cms         40G 3.8G   34G  11% /opt/cms

    192.168.206.231:/home/admin/htdocs     40G 3.8G   34G  11% /opt/htdocs

    10.1.6.131:/home/images                        167G   83G   76G  53% /opt/images

    10.1.6.131:/home/imagesvr                     167G   83G   76G  53% /mnt

    每个/dev/xxx代表一个分区.同时,这里还有远程文件系统. 百分比代表已经使用的空间比例.

     -查询系统有几个网卡

    运行 lspci | grep Ethernet, 输出类似:

    05:00.0 Ethernet controller: BroadcomCorporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

    有几条记录就是几个网卡.

    想进一步查看网卡信息,运行lspci -vv -s 05:00.0

    -hdparm查看硬盘信息

    比如查看硬盘hda转速, 运行hdparm -i /dev/hda,

     -查询系统usb接口信息

    运行命令lsusb可以知道当前系统有几个usb接口,比如输出:

    Bus 004 Device 001: ID 0000:0000

    Bus 003 Device 001: ID 0000:0000

    Bus 002 Device 001: ID 0000:0000

    Bus 001 Device 002: ID 04b4:6560 CypressSemiconductor Corp. CY7C65640 USB-2.0 "TetraHub"

    Bus 001 Device 001: ID 0000:0000

    表示有5个usb接口可用.

  • 相关阅读:
    c++实现的一个链栈
    VS2005_XP DDK_DS3.2安装说明
    驱动开发遇到的一些问题
    fatal error LNK1000解决方法
    C++文件依存关系---提高编译速度
    架构的一些心得
    CPU与GPU的一点理解
    看"C++动态链接库编程深入浅出"的一些笔录
    VC2008下提示找不到MSVCP90D.dll的解决办法
    DLL搜索顺序
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016678.html
Copyright © 2011-2022 走看看