马哥教育第20期一班第一周博客

Linux入门

1、Linux的哲学思想

  • 一切皆文件(硬件设备亦表现为文件)

  • 由众多目的单一的小程序组成;一个程序只做一件事,并且要做好

  • 组合小程序完成复杂任务

  • 尽可能避免跟用户交互

  • 使用文本文件保存配置信息

  • 提供机制,而非策略


2、常用命令

id命令

简介:
  id - print real and effective user and group IDs
格式:
  id [OPTION]... [USER]
选项:
  -u: 显示用户的ID号
  -g: 显示用户属组的GID号
  -G  显示用户所属的附加组的GID号
实例1
[root@localhost ~]# id root    #显示root用户的ID号、GID号、以及附加组ID号
uid=0(root) gid=0(root) groups=0(root)
[root@localhost ~]# id centos   #显示centos用户的ID号、GID号、以及附加组ID号
uid=1001(centos) gid=1001(centos) groups=1001(centos)
实例2
[root@localhost ~]# id -g root  #仅显示root用户的GID号
0
[root@localhost ~]# id -g centos #仅显示centos用户的GID号
1001
实例3
[root@localhost ~]# id -G centos #仅显示centos的附加组ID号
1001

hash命令

简介:
  Remember or display program locations
格式:
  hash [-lr] [-p pathname] [-dt] [name ...]
选项:
  -d:删除hash缓存中的某条指令
  -r:清楚hash缓存中的所有指令
实例1
[root@localhost ~]# hash
hits	command
   1	/usr/sbin/useradd
   0	/usr/bin/id
[root@localhost ~]# hash -d id  #删除hash缓存中的ls指令
[root@localhost ~]# hash
hits	command
   1	/usr/sbin/useradd
实例2
[root@localhost ~]# hash -r    #清除hash缓存中的所有指令
[root@localhost ~]# hash
hash: hash table empty

alias命令

简介:
  Define or display aliases.
格式:
  alias [-p] [name[=value] ... ]
实例1
[root@localhost ~]# alias cdn='cd /etc/sysconfig/network-scripts/'  #定义cdn的别名为'cd /etc/sysconfig/network-scripts/'
[root@localhost ~]# cdn
[root@localhost network-scripts]#

Note:仅对当前shell进程有效;如果想永久有效,要定义在配置文件中(/root/.bashrc或etc/bashrc)

which命令

简介:
  which - shows the full path of (shell) commands.
格式:
  which [options] [--] programname [...]
实例1
[root@localhost ~]# which ifconfig   #显示命令ifconfig的位置所在
/usr/sbin/ifconfig

whatis命令 

简介:
  whatis - display manual page descriptions
格式:
  whatis [-dlv?V] [-r|-w] [-s list] [-m system[,...]] [-M path] [-L locale] [-C file] name ...
实例1
[root@localhost ~]# whatis ifconfig  #显示ifconfig系统上所有的帮助手册
ifconfig (8)         - configure a network interface

echo命令

简介:
  echo - display a line of text
格式:
  echo [SHORT-OPTION]... [STRING]...
  echo LONG-OPTION
选项:
  -n: 禁止自动添加换行符号
  -e: 允许使用转义符
    \b 退格键
    \c 最后不加上换行符号
    \n: 换行
    \t: 插入tab键
    \0nnn 插入nnn(八进制)所代表的ASCII字符
实例1
[root@localhost ~]# echo "abcdefg"    
abcdefg
[root@localhost ~]# echo -n "abcdefg"    #不换行直接输出
abcdefg[root@localhost ~]#
实例2
[root@localhost ~]# echo -e "abcdef\bg"   #可以理解为删除前一个
abcdeg 
[root@localhost ~]# echo -e "abcdef\cg"   #不换行直接输出 
abcdef[root@localhost ~]# 
[root@localhost ~]# echo -e "abcdef\ng"   #换行输出
abcdef
g
[root@localhost ~]# echo -e "abcdef\tg"   #相当于键入一个tab键
abcdef	g
实例3
[root@localhost ~]# echo "$SHELL"   #echo "$VAR_NAME": 变量会替换,双引号表示弱引用
/bin/bash
[root@localhost ~]# echo '$SHELL'   #echo '$VAR_NAME':变量不会替换,单引号表示强引用
$SHELL
实例4
[root@localhost ~]# echo -e "\033[41;36m something here \033[0m" 
 something here
 
 Note:其中41的位置代表底色,36的位置是代表字的颜色
实例5
[root@localhost ~]# echo $PS1
[\u@\h \W]\$

Note:\u: 当前用户名,\h: 主机名,\H: FQDN,完整格式的主机名,\W:当前工作目录的基名,\$: 提示符

type命令

简介:
  Display information about command type.
格式:
  type [-afptP] name [name ...]
实例1
[root@localhost ~]# type cd      #查看cd命令为内键命令
cd is a shell builtin
实例2
[root@localhost ~]# type ifconfig   #查看ifconfig命令为外部命令
ifconfig is /usr/sbin/ifconfig
实例3
[root@localhost ~]# type ls      #查看ls命令为别名
ls is aliased to `ls --color=auto'

date命令

简介:
  date - print or set the system date and time
格式:
  date [OPTION]... [+FORMAT]
  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
选项:
  [+FORMAT]
    %F: 按照指定格式显示
    %D:直接显示日期mm/dd/yy
    %H:显示小时,如:00..23
    %M: 显示分钟
    %m:显示月份
    %S:显示秒
    %s: 时间戳计时法,从Unix元年(1970-01-01 00:00:00)到此刻所经过的秒数
实例1
[root@localhost ~]# date 072517002008.30  #格式为date [MMDDhhmm[[CC]YY][.ss]],M表示月,D表示日,h表示时,m表示分,C和Y表示年份,s表示秒
Fri Jul 25 17:00:30 CST 2008
实例2
[root@localhost ~]# date +%F        #显示当前年月日,格式与%D不一样
2008-07-25
[root@localhost ~]# date +%D        #显示当前年月日
07/25/08
实例3
[root@localhost ~]# date +%H-%M-%S     #显示当前时间
17-04-29

Note:date命令显示的是系统时间

hwclock命令

简介
   hwclock - query or set the hardware clock (RTC)
格式
  hwclock [function] [option...]
选项
  -s:以硬件时间为准,来修改系统时间
  -w:以系统时间为准,来修改硬件时间
实例1
[root@localhost ~]# date
Fri Jul 25 17:08:11 CST 2008
[root@localhost ~]# hwclock
Tue 26 Jul 2016 02:11:04 AM CST  -0.115771 seconds
[root@localhost ~]# hwclock -s
[root@localhost ~]# date
Tue Jul 26 02:11:25 CST 2016
实例2
[root@localhost ~]# date
Fri Jul 25 17:00:56 CST 2008
[root@localhost ~]# hwclock
Tue 26 Jul 2016 02:12:41 AM CST  -0.724507 seconds
[root@localhost ~]# hwclock -w
[root@localhost ~]# hwclock
Fri 25 Jul 2008 05:01:14 PM CST  -0.646067 seconds

Note:clock和hwclock显示的都是硬件时钟

3、帮助命令的使用

man 命令

简介
  man - an interface to the on-line reference manuals
格式
  man COMMAND
详解
手册页:/usr/share/man,手册分为man1..man8,下面详解man1至man8详解的内容

man1: 用户命令
man2: 系统调用
man3: C库调用
man4: 设备文件及特殊文件
man5: 配置文件格式
man6: 游戏
man7: 杂项
man8: 管理类的命令

Note:有些关键在不止一个章节中存在帮助手册,要查看指定章节中的手册:man #(1-8) COMMAND
 man命令的配置文件:/etc/man.config
   MANPATH /PATH/TO/SOMEWHERE: 指明新的手册文件搜索位置
man命令的操作方法:
  Space, ^V, ^f, ^F: 向文件尾翻屏;
  b, ^B: 向文件首部翻屏;
  d, ^D: 向文件尾部翻半屏;
  u, ^U: 向文件首部翻半屏;
  RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行;
  y or ^Y or ^P or k or ^K:向文件首部翻一行;
  q: 退出;

  #:跳转至第#行;
  1G: 回到文件首部
  G:翻至文件尾部

文本搜索:
  /KEYWORD: 
     以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
         n: 查找下一个
         N:查找上一个
 
    ?KEYWORD:
	 以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
	     n: 跟搜索命令同方向,查找下一个
	     N:跟搜索命令反方向,查找上一个

4、设置图形界面开机免密码登录

vi /etc/gdm/custom.conf

custom.conf文件中添加如下内容,即可免去开机免密码登录

[daemon]

AutomaticLoginEnable=True

AutomaticLogin=root

原创文章,作者:Aleen,如若转载,请注明出处:http://www.178linux.com/25951

(0)
AleenAleen
上一篇 2016-07-26 16:43
下一篇 2016-07-26 16:43

相关推荐

  • 目录,inode学习笔记

    目录,inode学习笔记 1. 关于目录,文件,数据块 对于使用计算机的人而言,经常有一种 错误的认知:目录(或者说,文件夹)里面存放着文件。实际上,目录里面并不存放文件,以及文件数据。 实际上,目录是一个特殊的文件,针对这个特殊的文件也存在一些特殊的规则,比如利用命令cp /dev/null <your directory>…

    Linux干货 2017-04-01
  • 第六周总结VIM编辑器的使用并完成练习题

    第六周 总结VIM编辑器的使用并完成练习题 1. VIM是什么? VIM(Vi IMproved)是从vi发展出来的一个文本编辑器。 2.为什么要使用VIM? VIM有代码补完,编译以及错误跳转等方便编程的功能,在程序员中广泛使用。对于大多数的用户来说,VIM有着比较陡峭的学习曲线,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。VIM是类Unix系统用…

    Linux干货 2017-09-02
  • linux挂载的基本使用

    挂载   挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区(已有文件系统)挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。 挂载条件 1、挂载点必须是一个目录。 2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将隐藏不可用。对于其他…

    Linux干货 2016-09-07
  • yum函数介绍以及自建yum仓库

    一、前言     在之前介绍了yum的配置(详细请移步 http://www.178linux.com/archives/6445)。但是有没有发现一个问题,虽然我们已将仓库指向一个可用的仓库服务器,但是随着Linux的不断升级和改版,我们是否还需要不断的去修改仓库的配置文件,如果只有一台还好,那如果我们有多…

    Linux干货 2015-07-24
  • etc的常见问答

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost tuser1]# cp -r /etc/skel/ /home/tuser1 [root@localhost tuser1]# chmod -R go= /home/tuser1/ [root…

    2017-12-26