初识Linux命令
目的:简单了解Linux的一些基本命令。
不同的命令往往有不同的格式,有些命令后需要跟一些选项,也有一些命令跟其他的东西。
Linux常用命令及常见用法归总如下:
内部命令与外部命令相关:
type COMMAND 判断一个命令的类型。
enable
enable 显示所有启用的内部命令
enable |wc -l 统计启用的内部命令数量
enable -a 显示所有的内部命令、
enable -a |wc -l 统计所有的内部命令数量
enable COMMAND 启动一个内部命令
enable -n 显示所有被禁用的内部命令
enable -n |wc -l 统计被禁用的内部命令数量
enable -n COMMAND 禁用一个内部命令
hash 显示当前被hash的外部命令、
-l 显示当前被hash的外部命令,包含别名
-p /.../.... name 手动增加一个hash缓存
-d name 删除一个hash
-r 清空所有的hash
alias > 内部命令> hash > PATH > command not find
alias 显看当前已定义的别名
alias aliname='command [-x] [....]' 定义别名
unalias aliname 取消别名定义。
unalias -a 取消所有别名
每个用户都有自己的家目录,有且只有一个/home/username
root用户的家目录在/root下。
~ 表示用户的家目录。
~/.bashrc 只对当前用户有效
/etc/bashrc 对所有用户有效
\command 'command' /path/command 执行命令不受别名影响 。
命令执行的语法
Command [-a[bc]] [arguments]
选项决定了是否启用命令的某个功能
参数决定命令作用的对象。
--help --表示长格式选项
ctrl+d 正常终止命令
ctrl+c 强制终止命令
使用;连接多条命令,当前一个命令执行结束,执行后一条命令。(不会判断前一条命令是否执行成功或失败)。
gedit 、nano 文件编辑器
gedit快捷键
CTRL-Z:撤销
CTRL-C:复制
CTRL-V:粘贴
CTRL-T:缩进
CTRL-Q:退出
CTRL-S:保存
CTRL—R:替换
CTRL+Tab 切换
CTRL+W 关闭选项卡
nano 后加目录
常用操作
/etc/gdm/custom.conf 开机后自动登录图形化界面。
在[damon]字样下输入
AutomaticLoginEnable=true
AutomaticLogin=root
/etc/issue 登录前的信息
/etc/motd 登录后的信息
shell (壳,操作界面--命令行界面,图形化界面)
查询当前系统使用了哪个shell
echo $SHELL(此处大小写敏感)
查询当前系统已安装的所有shell
cat /etc/shells
AIX(unix) ksh
shell提示符
whoami 显示当前的登录用户名
hostname 显示当前的主机名
pwd 显示当前的工作目录。
PS1="[\u@(magedu)\h \W]\\$ "
PS1="\[\e[33m\][\u@\h \W]\\$ \[\e[0m\]"
date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间。
如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式下:
date +%n
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
上述格式不必全都记住,只需要掌握几个常用的即可。例如%Y表示年,%m表示月,%d表示日,%H表示小时,%M表示分钟,%S表示秒,%s表示从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数,相当于time函数,%w表示一周中的第几天。
hwclock 查示硬件时间(BIOS时间)
hwclock -s 将硬件时间写入软件时间(系统时间)
hwclock -w 将软件时间写入硬件时间
修改时区
Centos6
ln -f /usr/share/zoneinfo/America/New_York /etc/localtime
ln -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Centos7
timedatectl 查看当前时区
timedatectl list-timezone 查看所有的时区
timedatectl set-timezone America/New_York
timedatectl set-timezone Asia/Shanghai
cal 显示当月日历
cal yyyy 显示指定年的日历
cal -y 显示当年的日历
cal -3 显示上个月当月下个月的日历
cal -1 同cal 显示当月日历
cal mm yyyy 显示指定年,月的日历
开关机相关
halt & poweroff 关机
centos7 : poweroff
reboot 重启
reboot -f 直接断电源再重启。
shutdown
shutdown -r 重启
shutdown -h 关机
shutdown +0 直接关机
shutdown +xx xx分钟后关机
shutdown hh:mm 指定时间关机
shutdown -c 取消关机(在另一个终端执行)
who am i,who,w
whoami 显示当前用户名
who am i 显示当前登录的终端信息
who 显示当前所有登录的终端信息
w 显示当前所有登录终端的详细信息。
screen
screen 进入screen 名字以当前终端名.主机名前缀
screen -S screenname
screen -ls 或 --list 查看当前所有的screen
screen -r screenname 进入一个screen。
ctrl+d 或 exit 退出当前screen(会话)。
echo
-n 不换行
-E (default) 不解释\
-e 解释“\”
\a 报警
\b 退格
\c 不换行
\n 换行,从行首输入
\r 移动行首但不换行
\t 输入tab
\\ 输入一个\
$的用法
$变量名 引用变量的值
$()或``引用命令执行的结果
$[]运算
${变量名} 或"$变量名" 当变量名的起止不分明时,用来划定变量名的范围,同时引用变量。
{}的用法
{a..z} 表示引用指定范围的字母
{1..9999} 表示引用指定范围的数字
{1,3,5} 表示分别引用每一个字符
TAB
补齐目录
\2TAB 把根下的所有文件列出
~2TAB 家目录下的所有文件列出
.2TAB 当前目录下的所有文件列出,包含隐藏文件
*2TAB 当前目录下的所有文件列出,不包含隐藏文件
$2TAB 显示当前所有的环境变量。
=2TAB = ls -A
PS:内容很基础,做了解入门之用。