特别提醒:电脑用户请见右侧大纲,根据实际需要查看。


一. 简单命令

  1. 显示日期:Cal
  2. 计算器:bc
  3. 重要热键[Tab],[Ctrl]-c,[Ctrl]-d

    ① [Tab]接在一串命令的第一个命令后,则为 “命令补全”;[Tab]接在一串命令的第二个命令以后时,则为“文件补全”。
    ② [Ctrl]-c为终止当前命令或者程序的执行。
    ③[Ctrl]-d 相当于输入exit,代表键盘输入结束。

  4. 查询命令说明:man +命令。使用这个命令后,可以按空格往下翻页,按q离开。可以按“/”加上字符来向下查询字符,按“?”加字符向上查询字符。

  5. 在线求助:info。按“q”退出。
  6. 超简单的文本编辑器:nano(当然,最重要的还是vi这个文本编辑器)。Nano直接加上文件名,就可以打开一个旧文件或者创建一个新文件。
  7. 查看文件:ls。ls是list的意思。
  8. 查看谁在线:who
  9. 查看网络的联机状态:netstat-a
  10. 查看后台执行程序:ps –aux
  11. 关机:shutdown
  12. 重启系统:reboot

.系统管理

1.系统时间

(1)在虚拟终端中使用date命令来查看和设置系统时间

  1. 查看系统时钟的操作:
  2. $ date
  3. 设置系统时钟的操作:
  4. $ date 091713272003.30
  5. 通用的设置格式:
  6. $ date 月日时分年.秒

(2)使用hwclock或clock命令查看和设置硬件时钟

  1. 查看硬件时钟的操作:
  2. $ hwclock show clock show
  3. 20030917 星期三 132411 -0.482735 seconds
  4. 设置硬件时钟的操作:
  5. $ hwclock set date="09/17/2003 13:26:00″
  6. 或者
  7. $ clock –set –date=”09/17/2003 13:26:00″
  8. 通用的设置格式:
  9. $ hwclock/clock –set –date="月/日/年 时:分:秒"。

(3)同步系统时钟和硬件时钟

  1. Linux系统默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clockhwclock命令来同步系统时钟和硬件时钟。
  2. 硬件时钟与系统时钟同步:
  3. $ hwclock hctosys
  4. 或者
  5. $ clock hctosys
  6. 上面命令中,–hctosys表示Hardware Clock to SYStem clock
  7. 系统时钟和硬件时钟同步:
  8. $ hwclock systohc
  9. 或者
  10. $ clock systohc
  11. 使用图形化系统设置工具设置时间

2.查看使用内存情况

(1)$ auto
atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。

(2)$ free -h
free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
Mem即内存
Linux常用命令总结(持续更新) - 图1

(3) $ htop
htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
Linux常用命令总结(持续更新) - 图2

参数解读:
PID 进程号
PRI 优先级
NI nice值。负值表示高优先级,正值表示低优先级
RES 进程使用的、未被换出的物理内存大小
SHR 共享内存大小
%CPU CPU使用率
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计
COMMAND 执行的命令

(4)$ top -n 1 |grep Cpu
Linux常用命令总结(持续更新) - 图3
解释:40.2 us是用户占用cpu情况,40.2%; 2.4sy,是系统占用cpu情况,2.4%

三. 用户管理

1.创建账户和密码

欲创建名称为zzj的账户,并给该账户设置密码,命令如下:

  1. $ useradd -d /home/zzj -m zzj
  2. $ passwd zzj

2.限制用户权限

(1)更改文件所有者
如上面创建的/home/zzj目录 ,把其所有者定为zzj,代码如下:

  1. $ chown -hR zzj /home/zzj # 更改文件夹及里面子文件的所有者
  2. $ su root
  3. # chmod -R 750 /home/zzj # 表示/home/zzj该目录非拥有者不能读写和运行。

(2)限制用户的内存使用量

  1. ①先进入文件limits.conf
  2. $ sudo vim /etc/security/limits.conf
  3. ②若想限制用户zzj的内存使用量不能超过30G左右,则在文件中增加下面内容:
  4. @zzj hard rss 36000000
  5. 若想限制每一个用户的内存使用量都不能超过30G左右,则在文件中增加下面内容:
  6. *hard rss 36000000
  7. ③修改上面的文件并保存之后,再在命令终端输入:
  8. $ sudo vim /etc/pam.d/login
  9. 进入文件,在最下面添加如下一行内容,然后保存。
  10. session required /lib/security/pam_limits.so
  11. ④重新登录账户,用下面命令可查看用户配额:
  12. $ ulimit -a

3.删除用户

在管理员账户登录下,使用命令 userdel –r 用户名 来删除某个其他用户。

4.查看当前在线用户数

$ who

.文件夹及文件管理

1. 创建文件夹及文件

①创建文件夹(目录)
mkdir(make directories)

  1. 语法:mkdir [-p][--help][--version][-m <目录属性>][目录名称]
  2. 补充说明:mkdir可建立目录并同时设置目录的权限。
  3. 参数:
  4. -m<目录属性>或–mode<目录属性> 建立目录时同时设置目录的权限。
  5. -p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
  6. 例:mkdir test

②创建文件 touch
功能说明:改变文件或目录时间。

语法:touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>] [--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时 间][文件或目录...] 
补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。
参数:
-a或–time=atime或–time=access或–time=use  只更改存取时间。
-c或–no-create  不建立任何文件。
-d<时间日期>  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m或–time=mtime或–time=modify  只更改变动时间。
-r<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
-t<日期时间>  使用指定的日期时间,而非现在的时间。
例:touch test.txt (注:Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件)

2. 删除目录、文件 rm(remove)

语 法:rm [-dfirv][--help][--version][文件或目录...]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。 
参数:-d或–directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或–force  强制删除文件或目录。
-i或–interactive  删除既有文件或目录之前先询问用户。
-r或-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose  显示指令执行过程。

①删除文件夹 de>rm -rf fileNamede>
-删除文件夹实例: rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹 需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的。
②删除文件
de>rm -f fileNamede> 使用 rm -rf 的时候一定要格外小心,linux没有回收站的。

3. 复制移动文件

①文件复制命令cp

命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)               
#参数说明:     
-a:是指archive的意思,也说是指复制所有的目录    
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身   
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制    
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作  
-l:建立硬连接(hard link)的连接文件,而非复制文件本身     
-p:与文件的属性一起复制,而非使用默认属性    
-r:递归复制,用于目录的复制操作   
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件   
-u:若目标文件比源文件旧,更新目标文件     
#如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2

②文件移动命令mv

命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
Linux当前目录所有文件移动到上一级目录
mv * ../

4.linux中查看软件文件安装路径

在linux中文件与软件一般都是安装在到/usr/share和/usr/local中了(除非指定安装目录),如果我们需要查看软件安装路径linux为我们提供了查看命令,whereis 就可以帮我查找文件安装路径在哪里了。<br />   比如你想**查找eclipse文件**,那么就使用命令:$ **whereis eclipse** 或者 $ **which eclipse**

五. 软件管理

1.添加到环境变量

在Linux下使用**源码安装**软件的时候,通常只能在软件安装目录下使用该软件命令(使用yum命令安装的除外),这样太麻烦,我们希望全局使用,可以将软件安装路径添加到系统环境变量里。<br />   添加环境变量有2种方法:(示例软件包:node-v8.9.3-linux-x64)<br />** (1)使用export命令 **
 $ export PATH=$PATH:/opt/software/node-v8.9.3-linux-x64/bin/node
export使用方法为 export PATH=$PATH:路径1:路径2:路径n;$PATH为系统变量,表示之前所有设置的路径,如果不加则之前所有的路径都失效。所以必须加上。

(2)修改配置文件/etc/profile

 $ vi /etc/profile

在里面加入: export PATH=$PATH:/opt/software/node-v8.9.3-linux-x64/bin/node
如果是修改用户主目录下的.bash_profile,则添加的环境变量只对该用户有效,修改/etc/profile对所有用户都生 效。也可以修改/etc/rc.local文件和/root/.bashrc文件。
修改好配置文件后执行 source /etc/profile 或者 source /root/.bashrc 使配置文件生效。

2.更新软件

(1)更新所有软件

$ apt-get upgrade

(2)更新某个软件

$ sudo  apt-get   upgrade 软件名