Linux指令学习

Linux指令学习

常用命令

# cp -a dir1 dir2         复制一个目录
# cp -a /tmp/dir1 .       复制一个目录到当前工作目录(.代表当前目录)
# ls                      查看目录中的文件
# ls -a                   显示隐藏文件
# ls -l                   显示详细信息
# ls -lrt                 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序)
# pwd                     显示工作路径
# mkdir dir1              创建 'dir1' 目录
# mkdir dir1 dir2         同时创建两个目录
# mkdir -p /tmp/dir1/dir2 创建一个目录树
# mv dir1 dir2            移动/重命名一个目录
# rm -f file1             删除 'file1'
# rm -rf dir1             删除 'dir1' 目录及其子目录内容

查看文件内容:
# cat file1               从第一个字节开始正向查看文件的内容
# head -2 file1           查看一个文件的前两行
# more file1              查看一个长文件的内容
# tac file1               从最后一行开始反向查看一个文件的内容
# tail -3 file1           查看一个文件的最后三行

文本处理:
# grep str /tmp/test      在文件 '/tmp/test' 中查找 "str"
# grep ^str /tmp/test     在文件 '/tmp/test' 中查找以 "str" 开始的行
# grep [0-9] /tmp/test    查找 '/tmp/test' 文件中所有包含数字的行
# grep str -r /tmp/*      在目录 '/tmp' 及其子目录中查找 "str"
# diff file1 file2        找出两个文件的不同处
# sdiff file1 file2       以对比的方式显示两个文件的不同

查找:
# find / -name file1      从 '/' 开始进入根文件系统查找文件和目录
# find / -user user1      查找属于用户 'user1' 的文件和目录
# find /home/user1 -name \*.bin       在目录 '/ home/user1' 中查找以 '.bin' 结尾的文件
# find /usr/bin -type f -atime +100   查找在过去100天内未被使用过的执行文件
# find /usr/bin -type f -mtime -10    查找在10天内被创建或者修改过的文件
# locate \*.ps                        寻找以 '.ps' 结尾的文件,先运行 'updatedb' 命令
# find -name '*.[ch]' | xargs grep -E 'expr'         在当前目录及其子目录所有.c和.h文件中查找 'expr'
# find -type f -print0 | xargs -r0 grep -F 'expr'    在当前目录及其子目录的常规文件中查找 'expr'
# find -maxdepth 1 -type f | xargs grep -F 'expr'    在当前目录中查找 'expr'

压缩和解压:
# bzip2 file1               压缩 file1
# bunzip2 file1.bz2         解压 file1.bz2
# gzip file1                压缩 file1
# gzip -9 file1             最大程度压缩 file1
# gunzip file1.gz           解压 file1.gz
# tar -cvf archive.tar file1       把file1打包成 archive.tar
(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数)
# tar -cvf archive.tar file1 dir1  把 file1,dir1 打包成 archive.tar
# tar -tf archive.tar              显示一个包中的内容
# tar -xvf archive.tar             释放一个包
# tar -xvf archive.tar -C /tmp     把压缩包释放到 /tmp目录下
# zip file1.zip file1              创建一个zip格式的压缩包
# zip -r file1.zip file1 dir1      把文件和目录压缩成一个zip格式的压缩包
# unzip file1.zip                  解压一个zip格式的压缩包到当前目录
# unzip test.zip -d /tmp/          解压一个zip格式的压缩包到 /tmp 目录

yum工具:
# yum -y install [package]          下载并安装一个rpm包
# yum localinstall [package.rpm]    安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
# yum -y update                     更新当前系统中安装的所有rpm包
# yum update [package]              更新一个rpm包
# yum remove [package]              删除一个rpm包
# yum list                          列出当前系统中安装的所有包
# yum search [package]              在rpm仓库中搜寻软件包
# yum clean [package]               清除缓存目录(/var/cache/yum)下的软件包
# yum clean headers                 删除所有头文件
# yum clean all                     删除所有缓存的包和头文件

网络:
# ifconfig eth0           显示一个以太网卡的配置
# ifconfig eth0 192.168.1.1 netmask 255.255.255.0   配置网卡的IP地址
# ifdown eth0             禁用 'eth0' 网络设备
# ifup eth0               启用 'eth0' 网络设备
# iwconfig eth1           显示一个无线网卡的配置
# iwlist scan             显示无线网络
# ip addr show            显示网卡的IP地址

其他:
# su -                     切换到root权限(与su有区别)
# shutdown -h now          关机
# shutdown -r now          重启
# top                      罗列使用CPU资源最多的linux任务 (输入q退出)
# pstree                   以树状图显示程序
# man ping                 查看参考手册(例如ping 命令)
# passwd                   修改密码
# df -h                    显示磁盘的使用情况
# cal -3                   显示前一个月,当前月以及下一个月的月历
# cal 10 1988              显示指定月,年的月历
# date --date '1970-01-01 UTC 1427888888 seconds'   把一相对于1970-01-01 00:00的秒数转换成时间

常用快捷键

CentOS 6.4 中可以通过系统->首选项->键盘快捷键来设置快捷键。例如可将运行终端的快捷键设为Ctrl+Alt+T。

Ctrl + u        删除光标之前到行首的字符
Ctrl + k        删除光标之前到行尾的字符
Ctrl + c        取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a        光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e        光标移动到行尾(end of line)
Ctrl + f        光标向前(forward)移动一个字符位置
Ctrl + b        光标往回(backward)移动一个字符位置
Ctrl + l        清屏,相当于执行clear命令
Ctrl + r        显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w        删除从光标位置前到当前所处单词(word)的开头
Ctrl + t        交换光标位置前的两个字符
Ctrl + y        粘贴最后一次被删除的单词
Ctrl + Alt + d  显示桌面
Alt + b         光标往回(backward)移动到前一个单词
Alt + d         删除从光标位置到当前所处单词的末尾
Alt + F2        运行
Alt + F4        关闭当前窗口
Alt + F9        最小化当前窗口
Alt + F10       最大化当前窗口
Alt + Tab       切换窗口
Alt +按住左键    移动窗口(或在最下面的任务栏滚动鼠标滑轮)

[鼠标中间键] 
粘贴突出显示的文本。使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。

[Tab] 命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。

在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。
快速搜索:在 vi 或 Firefox 中直接按 / 即可进入搜索状态。

grep字符串处理

# grep默认是区分大小写的,这里将匹配所有的小写字母
$ echo '1234\nabcd' | grep '[a-z]'
# 将匹配所有的数字
$ echo '1234\nabcd' | grep '[0-9]'
# 将匹配所有的数字
$ echo '1234\nabcd' | grep '[[:digit:]]'
# 将匹配所有的小写字母
$ echo '1234\nabcd' | grep '[[:lower:]]'
# 将匹配所有的大写字母
$ echo '1234\nabcd\nABCD' | grep '[[:upper:]]'
# 将匹配所有的字母和数字,包括0-9,a-z,A-Z
$ echo '1234\nabcd' | grep '[[:alnum:]]'
# 将匹配所有的字母
$ echo '1234\nabcd' | grep '[[:alpha:]]'

注:
[:alnum:]	代表英文大小写字母及数字,亦即 0-9, A-Z, a-z
[:alpha:]	代表任何英文大小写字母,亦即 A-Z, a-z
[:blank:]	代表空白键与 [Tab] 按键两者
[:cntrl:]	代表键盘上面的控制按键,亦即包括 CR, LF, Tab, Del.. 等等
[:digit:]	代表数字而已,亦即 0-9
[:graph:]	除了空白字节 (空白键与 [Tab] 按键) 外的其他所有按键
[:lower:]	代表小写字母,亦即 a-z
[:print:]	代表任何可以被列印出来的字符
[:punct:]	代表标点符号 (punctuation symbol),亦即:" ' ? ! ; : # $...	
[:upper:]	代表大写字母,亦即 A-Z
[:space:]	任何会产生空白的字符,包括空白键, [Tab], CR 等等
[:xdigit:]	代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字与字节

cd命令

进入命令,分为

  • cd…退回到上一级目录
  • cd 目录名字 进入下一级目录
  • cd …/进入/目录
    相对路径:
    ./为当前目录下
    …/为上一级目录下

ls命令

含义:list,当前目录下的所有文件名

  • ls -l 查看当前目录下文件以及目录的详细信息+h可显示文件大小
  • ls -la 显示所有文件名称,包含隐藏文件
  • ls 文件名 为该文件下的内容

pwd命令

查看当前目录的路径

mkdir命令

mkdir 目录名 创建一个文件夹或目录

touch命令

touch 文件名 创建一个文件

chmod命令

命令改变文件的权限
r为读权限4
w为写权限2
x为执行权限1
例如:将xxx.sh文件权限变为777
chmod 777 xxx.sh

与搜索相关的命令

  • 常用的有 whereis,which,find 和 locate。
    • whereis简单快速
    • locate快而全
    • which小而精
    • find精而细

tip:《黑客帝国》电影里满屏幕代码的“数字雨”,在 Linux 里面你也可以轻松实现这样的效果,你只需要一个命令 cmatrix 需要下载apt包

mv命令

mv 想要移动的文件名 移动的目录

declare命令

declare 创建一个变量名为 XXX 的变量 变量赋值时不能加空格

读取变量的值,使用echo 命令和$符号 例:echo $变量名

unset命令

删除一个环境变量

set命令

显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。

env命令

显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。

export命令

显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

rm命令

rm -f 文件名/文件夹 强制删除一个内容

zip命令

打包 :zip something.zip something (目录请加 -r 参数)
解包:unzip something.zip
指定路径:-d 参数

tar命令

打包:tar -cf something.tar something
解包:tar -xf something.tar
指定路径:-C 参数

question:adduser 和 useradd 的区别是什么?
答:useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd 去设置新用户的密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

top 工具

是我们常用的一个查看工具,能实时的查看我们系统的一些关键信息的变化

PID		进程 id
USER	该进程的所属用户
PR		该进程执行的优先级 priority 值
NI		该进程的 nice 值
VIRT	该进程任务所使用的虚拟内存的总数
RES		该进程所使用的物理内存数,也称之为驻留内存数
SHR		该进程共享内存的大小
S		该进程进程的状态: S=sleep R=running Z=zombie
%CPU	该进程 CPU 的利用率
%MEM	该进程内存的利用率
TIME+	该进程活跃的总时间
COMMAND	该进程运行的名字

ps工具

ps 也是我们最常用的查看进程的工具之一 ps axjf ps aux

ps -l   使用 -l 参数可以显示自己这次登录的 bash 相关的进程信息罗列出来
USER	进程的拥有用户
PID		进程的 ID
PPID	其父进程的 PID
SID		session 的 ID
TPGID	前台进程组的 ID
%CPU	进程占用的 CPU 百分比
%MEM	占用内存的百分比
NI		进程的 NICE 值
VSZ		进程使用虚拟内存大小
RSS		驻留内存中页的大小
TTY		终端 ID
S or STAT	进程状态
WCHAN	正在等待的进程资源
START	启动进程的时间
TIME	进程消耗 CPU 的时间
COMMAND	命令的名称和参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值