以下为《鸟哥的Linux私房菜》的学习总结

1.     转换语系

LANG=en

LANGUAGE=en

LC_ALL=en

LC_CTYPE=en

LC_TIME=en

2.     显示日期命令     date

[root@sun ~]# date

Tue Aug  2 10:28:08 CST 2011

date +%Y/%m/%d

[root@sun ~]# date +%Y/%m/%d

2011/08/02

显示日历 cal

[root@sun ~]# cal

August 2011

Su Mo Tu We Th Fr Sa

1  2  3  4  5  6

7  8  9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

cal [month] [year]

3.     Linux 文件属性与目录配置

更改所属用户组

chgrp [-R] dirname/filename …   -R 参数递归修改

更改文件拥有者

chown [-R] 用户名    文件名

chown [-R] 用户名:用户组名 文件或目录

更改文件属性

chmod [-R] filename  -rwx 对应4 2 1

eg: chmod 777 filename // 对filename文件赋予 rwxrwxrwx权限

4.     Linux文件与目录管理

相对路径与绝对路径,不做过多解释;绝对路径是由根目录”/”写起的路径(我的理解)

.         表示当前目录

..        表示上一层目录

-         表示前一个工作目录

~        表示当前用户所在的家目录

~account   表示account用户的家目录

cd 切换目录

(我当前用户使root,计算机名sun)

显示当前所在的目录    pwd

建立新目录

mkdir [-mp] 目录名

-m     设置文件的权限

-p     帮助直接建立所需要的目录递归

删除“空”目录

rmdir [-p] dirname

-p       与上层“空”目录一起删除

如果想删除非空的目录的话可以用 rm –rf test        -r表递归,-f表force(我认为的,没查)

但是不建议linux下面是用这个命令,一旦操作失误的话就惨了!!!

5.     管理文件与目录

查看文件和目录       ls

ls [-aAdfFhilRS] 目录名

ls [--color={none,auto,always}] 目录名

ls [--full-time] 目录名

参数

-a       :全部文件,包括隐藏文件一起列出来

-A      :全部文件,但不包括.与..这两个目录

-d       :进列出目录本身,而不是列出目录内的文件数据

-f        :直接列出结果,而不进行排序(默认会按照文件名排序)

-F       :根据文件、目录等信息,附加数据结构,

例如:*表示可执行文件,/表示目录,=表示套接字文件;|表示FIFO文件

-h       :列出文件大小

-i        :列出inode位置,而非列出文件属性

-l        :列出长数据串,包含文件的属性

-n       :列出UID与GID而非用户与用户

-r        :将排序结构反向输出

-R       :与子目录内容一起列出来

-S       :按文件大小

-t        :按时间排序

--color=never                           :不要按照文件属性用不同的颜色显示

--color=always                         :显示颜色

--color=auto                             :让系统自行按照设置来判断是否使用颜色

--full-time                       :以完整时间模式输出

--time={atime,ctime}           :输出访问时间或改变权限属性的时间(ctime)而不是改变内容的时间

复制文件或目录       cp

cp [-adfilprsu] source destination

cp [option] source1 source2 … directory

-a:相当于-pdr

-d:若源文件为链接文件属性,则复制链接文件属性,而非文件本身

-f:force,有问题不会询问用户,强制执行

-i:若目标文件已经存在,在覆盖时会先询问

-l:建立硬连接的连接文件,而非复制文件本身

-p:与文件属性一起复制,而不是使用默认属性

-r:递归复制,用于目录的复制操作

-s:复制成符号连接文件,也就是“快捷方式”

-u:若目标文件比源文件就,则更新目标文件

删除文件或目录       rm

rm [-fir] 文件或目录

-f:force,强制删除

-i:交互模式,在删除前会询问用户是否操作

-f:递归删除,用于目录的删除

移动文件、目录或重命名

mv [-fiu] source destination

mv [option] source1 source2 … directory

-f :force

-i :若目标文件已经存在,询问是否覆盖

-u :update

eg:mv mvtest mvtest1                  ç这样就重命名了

查看文件内容

cat    :由第一行开始显示文件内容

tac    :从文件的最后一行开始显示文件内容

nl     :显示的时候输出行号

more  :一页一页地显示文件内容

less   :与more相似,但可以向前翻页

head  :只看前几行

tail    :只看后几行

od    :以二进制方式读取文件

修改文件时间与创建文件:touch

与文件相关的时间

modification time(mtime, 修改时间):文件内容修改时(不是文件属性),便会改变这个时间

status time(ctime, 状态时间):当前文件的“状态”改变时,就会更新这个时间,比如更改权限与属性

access time(atime, 访问时间):当读取这个文件内容时,就会更新这个读取时间

touch [-acdmt] filename

-a :仅修改access time

-c :仅修改时间,而不建立文件

-d :后面可以接日期,也可以使用 --date=”日期或时间”

-m :仅修改mtime

-t :后面可以接时间,格式为[YYMMDDhhmm]

搜索文件

寻找执行文件 which

which [-a] cmd

-a:将所有可找到的命令均列出,而不仅仅列出找到的第一个命令

寻找特定文件 whereis

whereis [-bmsu] 文件或目录名

-b:只找二进制文件

-m:执照有帮助文件manual路径下的文件

-s:只找源文件

-u:没有帮助文件的文件

locate

locate filename,完整路径中含有filename的全部选出来

find

find [PATH] [option] [action]

参数:

与时间有关的参数

-atime n :n为数字,在n天之前的一天内访问过(access)的文件

-ctime n :n为数字,在n天之前的一天内修改过状态(change)的文件

-mtime n :n为数字,在n天之前的一天内访修改的(modification)文件

-newer file:file为一个存在的文件,列出比file新的文件

与用户或用户组名称有关的参数

-uid n  :n为数字,这个数字是用户的帐号ID,即UID,这个UID是记录在/etc/passwd里与帐号对应的数字

-gid n   :用户组

-user name:name为用户帐号名称

-group name:name为用户组名称

-nouser:查找文件的拥有者不再/etc/passwd中的文件

-nogroup:查看文件的拥有用户组不再/etc/group中的文件

与文件权限及名称有关的参数

-name filename:搜索文件名为filename的文件

-type TYPE:搜索文件类型为TYPE,类型主要有:一般正规文件(f),设备文件(b,c),目录文件(d),连接文件(l),套接字(s),及FIFO(p)等属性

-size [+-]SIZE:搜索比SIZE还要大[+]或小[-]的文件。    SIZE规格有c:byte;k

-perm mode:搜索文件属性“刚好等于”mode的文件,这个mode类似于chmod的属性值,比如-rwxr-xr-x的属性值为4755

-perm -mode:搜索文件属性“必须全部包括mode的属性”,比如-rwxr--r--的属性值为0744,使用-perm -0744

-perm +mode:搜索文件属性“包含任一mode的属性”

附加操作

-exec command:command为其他命令,-exec后面可在接额外的命令来处理搜索到的结果

eg:

find / -mtime 0                                                 #0代表当前时间,所以是从现在起24小时前

6.     文件系统

磁盘与目录容量

df

df [-ahikHTm] [目录或文件名]

-a:列出所有的文件系统,包括系统特有的/proc等文件系统

-k:以KB为单位列出各文件系统

-m:以MB为单位

-h:以GB、MB、KB等格式显示

-H:以M=1000K取代M=1024K

-T:连同该分区的文件系统名称(例如ext3)一起列出

-i:不用硬盘容量,而以inode的数量显示

du

du [-ahskm] 文件或目录名称

-a:列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已

-h:以人们易读的容量格式(G/M)显示

-s:列出总量,不列出每个目录占用的总量

-k:以KB列出容量显示

-m:以MB列出容量显示

7.     磁盘的挂在与卸载(看我的linux 挂载外部存储设备 (mount))

8.     Linux系统常见的压缩命令

9.     Linux用户管理

帐号管理

添加删除用户

useradd [-u UID] [-g initial_group] [-G other_group] -[Mm] [-c 说明栏] [-d home] [-s shell] username

-u:后面接UID

-g:后面接用户组名称为初始用户组,该groupID会放到/etc/passwd的第四个字段内

-G:后面接的用户组称是这个帐号还可以支持的用户组。会修改/etc/group内的相关数据

-M:强制。不要建立用户家目录

-m:强制。要建立用户家目录

-c:/etc/passwd第5栏的说明内容,可以随便设置

-d:制定某个目录为家目录,而不是用默认值

-r:建立一个系统帐号,这个帐号的UID会有限制(/etc/login.defs)

-s:后面接一个shell。默认为/bin/bash

修改密码passwd

passwd [useraccount]

root用户可以直接修改其他用户的密码

用户要修改自己的密码则必须给出原有密码

删除用户  userdel

相关文件 /etc/passwd;/etc/shadow;/home/username

userdel [-r] username #连同用户的家目录一起删除

查询UID/GID的相关信息  id

id [username]

[root@sun Desktop]# id sun

uid=500(sun) gid=500(sun) groups=500(sun)

[root@sun Desktop]# id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

增加删除用户组 groupadd

groupadd [-g gid] [-r]

-g :后面接某个特定的GID,用来直接给予某个GID

-r :建立系统用户组。与/etc/login.defs内的GID_MIN相关

[root@sun Desktop]# groupadd group1

[root@sun Desktop]# grep group1 /etc/group /etc/gshadow

/etc/group:group1:x:506:

/etc/gshadow:group1:!::

[root@sun Desktop]# groupadd -r group2

[root@sun Desktop]# grep group2 /etc/group /etc/gshadow

/etc/group:group2:x:487:

/etc/gshadow:group2:!::

有没有 –r,结果与/etc/login.defs中的设置有关。而且以groupadd新增的帐号,默认都不能使用密码方式登录,也就是说,默认是私有用户组,无法私用newgrp来的登录。

groupmod

与usermod相似,用于group相关参数的修改

groupmod [-g gid] [-n group_name]

-g :修改已有的GID数字

-n :修改已有的用户组名称

[root@sun Desktop]# groupmod -g 103 -n groupname group2

[root@sun Desktop]# grep groupname /etc/group /etc/gshadow

/etc/group:groupname:x:103:

/etc/gshadow:groupname:!::

删除用户组  groupdel

gpasswd groupname

:没有任何参数,表示给groupname一个密码(/etc/gshadow)

-A :将groupname的主控权交给后面的用户管理(改用户组的管理员)

-M :将这些帐号加入这个用户组中

-r :将groupname 的密码删除

-R :让groupname的密码栏失效,所以newgrp就不能使用了

关于用户组管理员做的操作

gpasswd [-ad] user groupname

-a :将某用户加入到groupname用户组中

-d :将某用户从groupname中删除

切换用户身份

su [-lcm] [username]

-  :如果执行su –时,表示该用户想要成为root身份,且使用root环境设置的参数文件

-l :后面可以接用户,使用 -l的好处是可以使变换身份者的所有相关的环境的配置文件

-m :-m与-p是一样的,表示“使用当前环境设置,而不重新读取新用户的设置文件”

-c :仅进行一次命令,所以-c后面可以加上命令

sudo

10. 作业进程管理

将命令放到后台“执行”, &

eg :tar –zpcf /tmp/etc.tar.gz /etc &

将“当前”作业放到后台“暂停”[Ctrl]-z

观察当前后台作业状态jobs

jobs [-lrs]

-l :除了列出作业号之外,同时列出PID

-r :仅列出正在后台运行(run)的作业

-s :仅列出正在后台暂停(stop)的作业

将后台作业拿到前台处理:fg

fg %jobnumber        # %可有可无,jobnumber作业的号码

让作业在后台运行:bg

管理后台作业:kill

kill -signal %jobnumber

kill -l(L的小写)

-l:列出当前kill能够使用的信号

signal:表示给后面的作业什么指示

-1:(数字1)重新读取一次参数的设置文件

-2:表示与由键盘输入[Ctrl]-c同样的动作

-9:立刻强制删除一个作业

-15:以正常的程序方式终止一项作业。

进程管理

ps

ps aux
ps -lA
ps axjf
-A 所有进程均显示
-a 与终端无关的进程
-u 有效用户的相关进程
l 较长
较详细的显示PID的信息
j 作业的输出格式
-f 更完整地输出

PID 进程ID
USER 进程的所属所属用户
PR priority,进程执行顺序,越小越先执行
NI Nice,与Priority有关,越小越先执行
%CPU cpu使用率
%MEM mem使用率
TIME+ CPU使用时间累加

[root@sun Desktop]# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.2  19244  1144 ?        Ss   Aug01   0:02 /sbin/init

root         2  0.0  0.0      0     0 ?        S    Aug01   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    Aug01   0:00 [migration/0]

root         4  0.0  0.0      0     0 ?        S    Aug01   0:00 [ksoftirqd/0]

root         5  0.0  0.0      0     0 ?        S    Aug01   0:00 [watchdog/0]

root         6  0.0  0.0      0     0 ?        S    Aug01   0:00 [events/0]

……省略N多

[root@sun Desktop]# ps -lA

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD

4 S     0     1     0  0  80   0 -  4811 poll_s ?        00:00:02 init

1 S     0     2     0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd

1 S     0     3     2  0 -40   - -     0 migrat ?        00:00:00 migration/0

1 S     0     4     2  0  80   0 -     0 ksofti ?        00:00:00 ksoftirqd/0

5 S     0     5     2  0 -40   - -     0 watchd ?        00:00:00 watchdog/0

1 S     0     6     2  0  80   0 -     0 worker ?        00:00:00 events/0

1 S     0     7     2  0  80   0 -     0 worker ?        00:00:00 cpuset

1 S     0     8     2  0  80   0 -     0 worker ?        00:00:00 khelper

…… 省略N多

[root@sun Desktop]# ps -axjf

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND

0     2     0     0 ?           -1 S        0   0:00 [kthreadd]

2     3     0     0 ?           -1 S        0   0:00  \_ [migration/0]

2     4     0     0 ?           -1 S        0   0:00  \_ [ksoftirqd/0]

……

1  1769  1769  1769 ?           -1 Ssl      0   0:00 automount --pid-file /var/run/autofs.pid

1  1792  1792  1792 ?           -1 Ss       0   0:00 /usr/sbin/sshd

1792 16070 16070 16070 ?           -1 Ss       0   0:01  \_ sshd: root@pts/0

16070 16090 16090 16090 pts/0    29910 Ss       0   0:00      \_ -bash

16090 27386 27386 16090 pts/0    29910 S        0   0:00          \_ su sun

27386 27387 27387 16090 pts/0    29910 S      500   0:00              \_ bash

27387 27530 27530 16090 pts/0    29910 S        0   0:00                  \_ su root

27530 27534 27534 16090 pts/0    29910 S        0   0:00                      \_ bash

27534 29910 29910 16090 pts/0    29910 R+       0   0:00                          \_ ps -axjf

top

top [-d] top [-bnp]

-d :后面接秒数,进程画面更新的描述,默认是5s

-b :以批处理方式执行top,还有更多的参数可用,通常会搭配数据流重定向,将批处理的结果输出为文件

-n :与-b搭配,意义是,需要基尼险那个几次top的输出结果

-p :制定某些个PID来进行观察监测

top执行过程中

?:显示在top中可以输入的命令

P :按CPU的使用资源排序显示

M:按内存使用资源排序

N:按PID来排序

T:按该进程使用的CPU时间积累排序

k:给某个PID一个信号

r:给某个PID重新确定一个值

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

29975 root      20   0 14940 1196  892 R  1.0  0.2   0:00.08 top

19 root      20   0     0    0    0 S  0.5  0.0   4:29.16 ata/0

1 root      20   0 19244 1144  944 S  0.0  0.2   0:02.51 init

2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd

3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

4 root      20   0     0    0    0 S  0.0  0.0   0:00.15 ksoftirqd/0

5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0

6 root      20   0     0    0    0 S  0.0  0.0   0:00.76 events/0

7 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cpuset

省略N多

pstree [-Aup]

-A:各进程树之间以ASCII字符来连接。

-p:同时列出每个进程的PID

-u:同时列出每个进程的所属帐号名称

查看系统资源

[root@sun Desktop]# free

total       used       free     shared    buffers     cached

Mem:        503312     454164      49148          0      35212      40140

-/+ buffers/cache:     378812     124500

Swap:      2916344      18840    2897504

[root@sun Desktop]# uname -a      # 所有系统信息

Linux sun 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

[root@sun Desktop]# uname -s      # 系统核心名称

Linux

[root@sun Desktop]# uname -r      # 核心的版本

2.6.32-71.el6.x86_64

[root@sun Desktop]# uname -m     # 本系统的硬件名称

x86_64

[root@sun Desktop]# uname -p      # CPU的类型

x86_64

[root@sun Desktop]# uname -i      # 硬件的平台

x86_64

netstat

netstat 用于网络监控方面,不过,在进程管理方面也需要了解。netstat 的输出分为两部分,上面是网络接口相关的联机,下方是与unix进程有关的项目

netstat [-atunlp]

-a :将当前系统上所有的联机、监听、套接字数据都列出来

-t :列出tcp网络包的数据

-u :列出udp网络包的数据

-n :不以进程的服务名称,以端口号(port number)来显示

-l :列出当前正在网络监听(listen)的服务

-p :列出网络服务的进程PID

dmesg | more 输出所有内核开机时的信息

[root@sun Desktop]# dmesg  | grep -i sd           #搜索开机时硬盘的相关信息

ACPI: RSDP 00000000000f6940 00024 (v02 PTLTD )

ACPI: XSDT 000000001fef0804 0004C (v01 INTEL  440BX    06040000 VMW  01324272)

ACPI: DSDT 000000001fef09bc 0E4DC (v01 PTLTD  Custom   06040000 MSFT 03000001)

ACPI: EC: Look up EC in DSDT

sd 0:0:0:0: [sda] 31457280 512-byte logical blocks: (16.1 GB/15.0 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00

sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA

sda: sda1 sda2

sd 0:0:0:0: [sda] Attached SCSI disk

dracut: Scanning devices sda2  for LVM logical volumes vg_sun/lv_root vg_sun/lv_swap

sd 0:0:0:0: Attached scsi generic sg0 type 0

EXT4-fs (sda1): mounted filesystem with ordered data mode

SELinux: initialized (dev sda1, type ext4), uses xattr

[root@sun Desktop]# dmesg | grep -i eth                # 查看网卡代号是eth的信息

udev: renamed network interface eth0 to eth2

eth2: no IPv6 routers present

转载于:https://www.cnblogs.com/SunChina/archive/2011/08/04/2128049.html

Linux 基本操作命令相关推荐

  1. linux进入probe目录,Linux基础学习系列——Linux文件目录操作命令

    Linux文件目录操作命令 工作目录切换命令 pwd命令 cd命令 ls命令 文件目录管理命令 touch命令 mkdir命令 cp命令 mv命令 rm命令 dd命令 file命令 pwd命令 pwd ...

  2. linux怎么命令设置网络连接,Linux网络操作命令

    文章目录 [隐藏] netstat nslookup host命令 finger Ping 命令 Linux 系统常用的网络操作命令包括netstat.nslookup. host finger 和p ...

  3. linux文件操作命令--转

    引用地址:http://bbsunchen.iteye.com/blog/1010993 想自己一开始处理文件的时候,看文件有多少行,都要写个perl脚本,好不麻烦啊...以此文纪念自己傻逼的科研生活 ...

  4. Linux shell 操作命令 mkdir

    Linux Shell 操作命令 目录总览(点击查看详细信息) 1.简介 mkdir 命令是 make directory 的缩写 2.主要功能 创建指定名称的目录 注意:     要求创建目录的用户 ...

  5. 运维小菜鸟随笔Linux入门级操作命令(更新中。。。)

    运维小菜鸟随笔&Linux入门级操作命令 从事实施运维行业已三年有余,却从未系统的学习过Linux,一直停留在有问题找百度的境界.近日终于痛下决心,系统的梳理一下Linux相关知识,顺便看看, ...

  6. linux基本命令du,Linux常用操作命令汇总

    你还在为不知道Linux常用操作命令汇总而不知所措么?下面来是学习啦小编为大家收集的Linux常用操作命令汇总,欢迎大家阅读: Linux常用操作命令汇总 1.ls 命令 ls以默认方式显示当前目录文 ...

  7. Linux Shell 操作命令 ls

    Linux Shell 操作命令 目录总览(点击查看详细信息) 1.简介 ls 命令是 linux 下最常用的命令,是 list 的缩写 2.主要功能 查看 目录清单          ls 打印当目 ...

  8. Linux文件操作命令(二)

    1.在前面我介绍过一些Linux文件操作命令,文章地址: http://blog.csdn.net/u012561176/article/details/44083321,但是我介绍了一些,还有一些比 ...

  9. linux 进程的操作,linux进程操作命令

    linux进程操作命令 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 简单概述简单概述 Linux 进程操作命令进程操作命令Lin ...

  10. linux虚拟机怎么退出pingdd,LINUX基本操作命令

    LINUX基本操作命令 基本操作命令 ---------------------------------------------------------------------- ---------- ...

最新文章

  1. 进制在c语言中的作用,C语言中的进制是什么意思?
  2. k8s pod的创建流程图示
  3. php开源mvccms_轻松理解MYSQL MVCC 实现机制
  4. mysql数据还原命令_mysql数据备份和还原命令:mysqldump
  5. abaqus编写本构方程vumat_abaqusvumat子程序
  6. line java_java – Line Rasterization / 4-bresenham
  7. 单表的更新UPDATE和删除记录DELETE(二十六)
  8. 使用pdf编辑器如何旋转页面
  9. Windows XP SP3安装教程(图)
  10. 2008世界GDP排名
  11. 依据Right-BICEP要求的对四则运算2的测试
  12. 制作LFS之后的总结
  13. Datewhale组队学习——深度学习推荐系统(1)
  14. Andriod Scroller使用小结
  15. 照片变古装软件叫什么?好用的古装app拍照软件分享
  16. jquery带右侧索引的通讯录
  17. python做聚类分析_Python聚类分析-摩拜用户群分类
  18. 遨博协作机器人ROS开发 - 机械臂语音交互控制
  19. 《A Model of Saliency-based Visual Attention for Rapid Scene Analysis》翻译和笔记
  20. 如何有效编写企业工作手册?

热门文章

  1. 【JZOJ4788】【NOIP2016提高A组模拟9.17】序列
  2. 有关onpropertychange事件
  3. VSTS有Bug,分析数据库的维度和维度属性使用中文命名时候,作为报表参数会出错。虽然有解决办法但是头大。...
  4. Django重新整理3
  5. Setup JIRA Service Desk 3.9.2 on Oracle Linux 6.8
  6. PHP高级教程-Session
  7. listview数据下载后不更新
  8. 前期拍摄注意的简要几点,总结了一哈,与大家分享!
  9. 著名书画家顾永泉对我诗集出版的贺词
  10. 4.看板方法---在五个季度内,从最差变为最好