1.linux基础命令

linux基础命令

设置直接登录

vim /etc/gdm/custom.conf 
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=root

修改网卡 开机自动获取网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes
查看登录终端的情况

tty 查看在哪个终端

whoami显示当前用户身份
who am i显示当前用户身份并且通过哪个终端登录

w显示谁在登录并且在做什么事

模式切换

  • 关掉图形切换到字符界面 init 3(普通用户不行)
  • 查看工作模式runlevel : 5 3
  • 回到图形模式: init 5 startx 只是开启图形 (图形就是一个软件)(普通用户可以)
    Ctrl+c中断一个程序
  • 工作中尽量少切换工作模式
  • 在字符界面切换其到其他终端:chvt 数字 (Ctrl+Alt +F#)

shell

  • Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。
    它接收用户输入的命令并把它送入内核去执行
  • shell也被称为LINUX的命令解释器(command interpreter)
  • shell是一种高级程序设计语言
  • 查看默认的shell:echo $SHELL

bash shell

  • GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也 是 Linux标准的shell,与sh兼容
  • CentOS默认使用
  • 显示当前使用的shell:echo ${SHELL}
  • 显示当前系统使用的所有shell :cat /etc/shells

命令提示符

  1. 命令提示符:prompt
    [root@localhost ~]#

    # 管理员

    ​ $ 普通用户

  2. 显示提示符格式

    [root@localhost ~]#echo $PS1

  3. 修改提示符格式

    PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
                                      闪烁;背景;字体; 字符 ;结束
    \e\033		\u当前用户
    \h主机名简称	\H主机名
    \w当前工作目录	\W当前工作目录基名
    \t 24小时时间格式	\T 12小时时间格式
    \! 命令历史数	\# 开机后命令历史数
    
  4. 查看帮助

    man bash /PS1

  5. 永久生效写在文件中

    vim /etc/profile.d/env.sh
    PS1="\[\e[1;36m\][\u@\h \W]\\$\[\e[0m\]"
    

执行命令

  1. 内部命令:(由shell自带,集成在bash里 ,加载在内存中)/bin/bash 除了翻译功能,还自带命令

    help 内部命令列表
    enable 查看所有内部命令
    enable cmd 启动内部命令
    enable -n cmd 禁止内部命令
    enable -n  查看所有禁用的内部命令
    
  2. 外部命令:在文件系统路径下有对应的可执行程序文件 (ll /bin/)

    type cmd
    ​ 外部命令 保持在磁盘上
    ​ 分别内外部命令 type +命令

  3. 区别内外部命令:

    查看路径: which -a | --skip-alias ; whereis

  4. 查询文件路径

     echo $PATH
     /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin(在内存中没找到,按顺序查找)
    
  5. 优先级: 内部命令>外部命令(先找内部命令,在找外部命令)

执行外部命令

  1. hash缓存表

    系统为初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,
    找到会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会
    查看hash表,存在执行之,如果不存在,将会去path路径下去寻找

  2. hash 常见用法

    hash  显示hash缓存
    hash -l 显示hash缓存,可作为输入使用
    hash -p path name 将命令全路径path起别名为name
    hash -t name 打印缓存中name 的路径
    hash  -d  name 清除name缓存
    hash -r 清除缓存
    

alias 命令别名

  1. 定义别名NAME,其相当于执行VALUE
    alias NAME='VALUE'

  2. 在命令行中定义的别名,仅对当前shell进程有效

  3. 如果想永久有效,要定义在配置文件中

    仅对当前用户: ~/.bashrc
    对所有用户有效: /etc/bashrc
     . 或 source + 文件 使之生效 (. 内部命令)
    
    优先级:别名 >内外部命令 
    
  4. 编辑配置给出的新配置不会立即生效
    bash 进程重新读取配置文件
    source或 . /path /to/config_file

  5. 撤销别名

    unalias [-a] name [name…]
    -a 取消所有别名

  6. 如果别名同原命令同名,如果要执行原命令,可使用

    \ALIASNAME
    “ALIASNAME”
    ’ ;AIASNAME’
    command ALIASNAME
    /path/command (路径 ,which cmd)
    which -a | --skip-alias

命令格式

  1. conmmand [options...] [arguments...]

    选项:用于启动或关闭命令的某个或某些功能
    	短选项:-c 例如:-l,-h
    	长选项:--word 例如: -all, --human-readable
    参数:命令的作用对象,比如文件名,用户名等
    
  2. 注意:

    多个选项以及多参数和命令之间使用空白字符分隔
    取消和结束命令执行:ctrl+c, ctrl +d
    多个命令可以用;符号分开
    一个命令可以用\分成多行

日期和时间

  1. Linux的两种时钟

    系统时钟:由Linux内核通过CPU的工作频率进行的 date
    硬件时钟:主板 clock

  2. 相关命令

   date 显示和设置系统时间
   date +%s  显示1970-1-1 0点到现在多少秒
   date  -d @1509536033
   date +%F
   hwclock,clock:显示硬件时钟
   	-s, --hctosys 以硬件时钟为准,校正系统时间
   	-w, --systohc以系统时钟为准,校正硬件时钟
   
  1. 时区:/etc/localtime

  2. 显示日历: cal -y

    Centos7查看所有时区:timedatectl list-timezones
     更改时区:timedatectl set-time  + 地点
     Centos6:  tzselect
   

其他命令

  1. 关机:halt, poweroff

  2. 重启:reboot
    -f: 强制,不调用shutdown
    -p: 切断电源

  3. 关机或重启 : shutdown

    	shutdown [OPTION]...TIME [MESSAGE]
    	-r :reboot
    	-h: hatlt
    	-c: cancel
    	TIME: 无指定,默认相当于+1
    		now:立即,相当于+0
    		+m:相当时间表示法,几分钟之后;例如:+3
    		hh:mm:绝对时间表示,指明具体时间
    shutdown  +5 "系统5分钟后关机”
    

    nano /etc/ syconfig/il8n改语言

  4. 修改字体文件:nano /etc/sysconfig/il18n
    Wall 发广播

  5. 用户登录信息查看命令:

    whoami:显示当前登录有效用户
    who:系统当前所有的登录会话
    w:系统当前所有的登录会话及所做的操作
    
  6. nano文本编辑

screen

  1. 创建screen会话
    screen -S [SESSION]

  2. 加入screen会话
    screen -x [SESSION]

  3. 显示所有已经打开的screen会话
    screen -ls

  4. 退出当前screen会话
    exit

  5. 剥离当前screen会话
    Ctrl+a,d

  6. 恢复某screen会话
    screen -r [SESSION]

  7. 安装软件:rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm
    可用于备份:在screen会话中备份,网断也没有影响

    screen -s help
    screen  -ls 查看
    screen -x help 加入会话
    exit 都退
    Ctrl+a ,松手在按b : 自己退出
    

echo 显示字符

  1. 语法:echo [-neE][字符串]
    echo会将输入的字符串送往标准输出。输出的字符串以空白字符隔开,并在最后加上换行符

  2. 选项:
    -E(默认):不支持\解释功能
    -n:不自动换行
    -e:启动\字符的解析功能

  3. 显示变量
    echo “$VAR_NAME” 变量会替换,弱引用
    echo ’ $VAR_NAME ’ 变量不会替代,强引用

  4. 启动命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会当成一般文字输出

    	\a 发出警报声
    	\b 退格键
    	\c 最后不加上换行符号
    	\n 换行且光标移至行首
    	\r 回车,即光标移至行首,但不换行
    	\t 插入tab
    	\\ 插入\字符
    	\0nnn 插入nnn(八进制)所代表的ASCII字符   
    		echo -e '\033[43;31;5mmagedu\033[0m' 
    	\xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii) 
    	hexdump -C f1      看二进制文件	
    
  1. 开机提示配置文件:cat /ect/motd

命令行扩展、被括起来的集合

1)命令行扩展:$ ( )或
把一个命令的输出打印给另一个命令的参数

echo "This system's name is $(hostname)"
echo "I am `whoami`"

2)括号扩展:{ }

	打印重复字符的简化形式
	echo file(1,3,5}
		file1 file3 file5
	rm -f file{1,3,5}
	echo {1..100}
	echo {a..z}
	echo {0..20..2}
双引号:只识别变量,不知别命令
单引号:都不识别
反向单引号:都识别,当一个命令去调用一个命令的输出时

history

  1. 登录shell时,会读取命令历史文件中记录下的命令~/.bash_history

  2. 登录进shell后新执行的命令只会记录在缓存中;这些命令会在用户退出时“追加”至命令历史文件中

  3. 重复前一个命令,有四种方法
    上方向键,并enter
    按!!并enter
    输入!-1并回车
    按Ctrl+p并回车

  4. 命令

    !:0 执行前一条命令(去除参数)
    Ctrl+n  显示当前历史中的下一条命令,但不执行
    Ctrl+j 执行当前命令
    !n 执行history命令输出对应序号n 的命令
    !-n 执行history历史中的倒数第n个命令
    !string 重复前一个以“string”开头的命令 
    !?string 重复前一个包含string的命令 
    !string:p 仅打印命令历史,而不执行 
    !$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
    !*:p 打印输出 !*(上一条命令的所有参数)的内容 
    ^string 删除上一条命令中的第一个string 
    ^string1^string2 将上一条命令中的第一个string1替换为string2 
    !:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
    使用up(向上)和down(向下)键来上下浏览从前输入的命令 
    ctrl-r来在命令历史中搜索命令 
    	(reverse-i-search)`’: 
    Ctrl+g:从历史搜索模式退出 
    要重新调用前一个命令中最后一个参数 
    	!$  表示 
    	Esc, .(点击Esc键后松开,然后点击 . 键) 
    	Alt+ .(按住Alt键的同时点击 . 键)
    
  1. 调用历史参数

       1)command!^ 利用上一个命令的第一个参数做成cmd的参数
       2)command!$ 利用上一个命令的最后一个参数做成cmd的参数
       3)command!* 利用上一个命令的全部参数做成cmd的参数
       4)command!:n 利用上一个命令的第n个参数做成cmd的参数
       5)command!n:^ 调用第n条命令的第一个参数
       6)command!n:$ 调用第n条命令的最后一个参数
       7)command!n:m 调用第n条命令的第m个参数
       8)command!n:* 调用第n条命令的所有参数
       9)command!string:^ 从历史中搜索以string开头的命令,并获取它的第一个参数
       10)command!string:$ 从历史中搜索以string开头的命令,并获取它的最后一个参数
       11)command!string:n 从历史中搜索以string开头的命令,并获取它的第m个参数
       12)command!string:* 从历史中搜索以string开头的命令,并获取它的所有参数
      

命令history

  1. history [-c] [-d offset] [n]

  2. history -anrw [filename]

  3. history -ps arg [arg...]

    -c: 清空命令历史
    -d offset: 删除历史中指定的第offset个命令
    n: 显示最近的n条历史
    -a: 追加本次会话新执行的命令历史列表至历史文件
    -r: 读历史文件附加到历史列表
    -w: 保存历史列表到指定的历史文件
    -n: 读历史文件中未读过的行到历史列表
    -p: 展开历史参数成多行,但不存在历史列表中
    -s: 展开历史参数成一行,附加在历史列表后

eg: 删除历史记录

rm -rf .bash_history
history -c 
exit

命令历史相关环境变量

  1. HISTSIZE:命令历史记录的条数
  2. HISTFILE:指定历史文件,默认为~/.bash_history
  3. HISTFILESIZE:命令历史文件记录历史的条数
  4. HISTTIMEFORMAT=“%F %T “显示时间
  5. HISTIGNORE=“str1:str2*:… “忽略str1命令,str2开头的历史
    控制命令历史的记录方式:
    环境变量:HISTCONTROL
    ignoredups 默认,忽略重复的命令,连续且相同为“重复”
    ignorespace 忽略所有以空白开头的命令
    ignoreboth 相当于ignoredups, ignorespace的组合 erasedups 删除重复命令 ?
    export 变量名="值“ ?
    存放在 /etc/profile 或 ~/.bash_profile

bash的快捷键

Ctrl + l 清屏,相当于clear命令 
Ctrl + o 执行当前命令,并重新显示本命令 
Ctrl + s 阻止屏幕输出,锁定 
Ctrl + q 允许屏幕输出 
Ctrl + c 终止命令 
Ctrl + z 挂起命
Ctrl + a 光标移到命令行首,相当于Home 
Ctrl + e 光标移到命令行尾,相当于End 
Ctrl + f 光标向右移动一个字符 
Ctrl + b 光标向左移动一个字符 
Alt + f 光标向右移动一个单词尾 
Alt + b 光标向左移动一个单词首 
Ctrl + xx 光标在命令行首和光标之间移动 
Ctrl + u 从光标处删除至命令行首 
Ctrl + k 从光标处删除至命令行尾 
Alt + r      删除当前整行
Ctrl + w 从光标处向左删除至单词首 
Alt + d 从光标处向右删除至单词尾 
Ctrl + d 删除光标处的一个字符 
Ctrl + h 删除光标前的一个字符 
Ctrl + y 将删除的字符粘贴至光标后 
Alt + c 从光标处开始向右更改为首字母大写的单词 
Alt + u 从光标处开始,将右边一个单词更改为大写 
Alt + l 从光标处开始,将右边一个单词更改为小写 
Ctrl + t 交换光标处和之前的字符位置 
Alt + t 交换光标处和之前的单词位置 
Alt + N 提示输入指定字符后,重复显示该字符N次 
注意:Alt组合快捷键经常和其它软件冲

获得帮助

  1. 获取帮助的能力决定了技术的能力
  2. 多层次的帮助
    whatis
    command --help
    man and info
    /usr/share/doc/
    red hat ducumentation
    其他网站和搜索
whatis
  1. 显示命令的简短描述
  2. 使用数据库
  3. 刚刚安装后不可立即使用
  4. makewhatis | mandb 制作数据库
  5. 使用示例:
    whatis cal 或man -f cal
命令帮助:
  1. 内部命令:
    help command
    man bash

  2. 外部命令:

    (1) COMMAND --help       
    	 COMMAND -h  
    (2) 使用手册(manual)        
    	man COMMAND   
    (3) 信息页        i
    	nfo COMMAND   
    (4) 程序自身的帮助文档        
    	README       
    	INSTALL        
    	ChangeLog   
    (5) 程序官方文档        
    	官方站点:Documentation   
    (6) 发行版的官方文档  
    (7) Google 
    
–help和-h选项
  1. 显示用法总结和参数列表

  2. 使用的大多数,但并非所有的
    示例:

   	date --help      
   	Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|-universal] [MMDDhhmm[[CC]YY][.ss]]  
   		[] 表示可选项  
   	CAPS或 <> 表示变化的数据  
   	... 表示一个列表  
   	x |y| z 的意思是“ x 或 y 或 z “   
   			-abc的 意思是-a -b –c  
   	{ }  表示分组
man
man命令
  1. 命令帮助的文件
    手册页存放在/usr/share/man
    几乎每个命令都有man的“页面”
    man页面分组为不同的“章节”
    统称为Linux手册
  2. man命令的配置文件:/etc/man.config | man_db.conf
    MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置 ?
    man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索 COMMAND命令的手册页并显示
    中文man需安装包man-pages-zh-CN
man章节
1)用户命令
2)系统调用
3)C库调用
4)设备文件及特殊文件
5)配置文件格式
6)游戏
7)杂项
8)管理类的命令
9)Linux内核API
man 帮助段落说明
1)NAME名称及简要说明
2)SYNOPSIS用法格式说明
	[] 可选内容
	<> 必须内容
	a|b 二选一
	{} 分组
	... 同一内容可出现多次
3)DESCRIPTION 详细说明
4)OPTIONS 选项说明
5)EXAMPLES 示例
6)FILES 相关文件
7)AUTHOR 作者
8)COPYRIGHT 版本信息
9)REPORTING BUGS  bug信息
10)SEEALSO	其他版主参考
man帮助
1)查看man手册
	man [章节] keyword
2)列出所有帮助
	man -a keyword
3)搜索man手册
	man-k keyword 列出所有匹配的页面
	使用whatis数据库
4)相当于whatis
	man -k keyword
5)打印man帮助文件的路径
	man -w [章节] keyword
man命令
man命令的操作方法:使用less命令实现  
	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:翻至文件尾部 
man搜索
1)/KEYWORD:   
	以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区 分字符大小写;  
	n: 下一个  
	N:上一个 
2)KEYWORD:       
	以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区 分字符大小写;       
	n: 跟搜索命令同方向,下一个       
	N:跟搜索命令反方向,上一个
info
1)man常用于命令参考,GNU工具info适合通用文档参考
2)没有参数,列出所有的页面
3)info页面的结构就像一个网站
4)每一页分为节点
5)链接节点之前*
6)info [命令]
导航info页
1)方向键,pgup,pgdn导航
2)tab键 移动到下一个链接
3)d显示主题目录
4)Home 显示主题首部
5)Enter 选定链接
6)n/p/u/l 进入下/前/上一层/最后一个链接
7)s 文字文本搜索
8)q 退出info
	u, ^u: 向文件首部翻半屏  
	RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行 y or ^Y or ^P or k or ^K:向文件首部翻一行  
	q: 退出  
	#:跳转至第#行  
	1G: 回到文件首部  
	G:翻至文件尾部 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值