linux

常用快捷键

按键作用
Ctrl+c终止进程
Ctrl+d键盘输入结束或退出终端
Ctrl+s暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a将光标移至输入行头,相当于Home键
Ctrl+e将光标移至输入行末,相当于End键
Ctrl+k删除从光标所在位置到行末
Alt+Backspace向前删除一个单词
Shift+PgUp将终端显示向上滚动
Shift+PgDn将终端显示向下滚动
Tab命令补全 / 档案补全
Ctrl+u / Ctrl+k从游标处向前/向后删除指令串
Ctrl+a / Ctrl+e让游标处移动到指令串最前/最后

常用命令

ls命令

#显示除了.(当前目录)和..(上一级目录)之外的所有文件,包括隐藏文件(Linux下以.开头的文件为隐藏文件)
ls -A
#使用较长格式列出文件
ls -l 或 ll 
#查看某一个目录的完整属性,而不是显示目录里面的文件属性:
ls -al 
#显示当前目录下的所有文件及文件夹包括隐藏的.和..等的详细信息(最常用)
ls -dl <目录名>
#显示所有文件大小,并以普通人类能看懂的方式呈现:
ls -AsSh
其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。

更改用户权限

chmod go-rw iphone6

g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。

chmod 741 filename 

让本人可读写执行、同组用户可读、其他用户可执行文件filename。

八进制数字法:
命令格式:chmod abc file
其中a,b,c各为一个八进制数字,分别表示User、Group、及Other的权限。
4 (100) 表示可读。
2 (010) 表示可写。
1 (001) 表示可执行。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

目录结构及文件操作

这里写图片描述

使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,… 表示上一级目录(注意,我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)

#进入上一级目录:
cd ..

#进入你的 home 目录:
cd ~ 或 cd /home/<你的用户名>

#使用 pwd 获取当前路径:
pwd

# 绝对路径
cd /usr/local/bin
# 相对路径
cd ../../usr/local/bin

其它命令

#创建一个名为文件,touch是一个命令
touch file 

#进入一个目录,cd是一个命令
cd /etc/

#查看当前所在目录
pwd

#命令用于读取指定文件的内容并打印到终端输出
cat

#创建名为“ mydir ”的空目录:
mkdir mydir

#使用 cp(copy)命令复制一个文件到指定目录。
#将之前创建的“ test ”文件复制到“ /home/shiyanlou/father/son/grandson ”目录中:
cp test father/son/grandson
#要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制:
cp -r father family

文件类型

关于文件类型,这里有一点你必需时刻牢记 Linux 里面一切皆文件,正因为这一点才有了设备文件( /dev 目录下有各种设备文件,大都跟具体的硬件设备相关)这一说。
socket:网络套接字,具体是什么,感兴趣的用户可以自己去了解或期待实验楼的后续相关课程。
pipe 管道,这个东西很重要,我们以后将会讨论到,这里你先知道有它的存在即可。
软链接文件:链接文件是分为两种的,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式,你记住这一点就够了)。

shell常用通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正字符。

字符含义
*匹配 0 或多个字符
?匹配任意一个字符
[list]匹配 list 中的任意单一字符
[!list]匹配 除list 中的任意单一字符以外的字符
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,…}匹配 string1 或 string2 (或更多)其一字符串
{c1…c2}匹配 c1-c2 中全部字符 如{1…10}

文件基本操作

新建

#新建空白文件
$ touch file 

#新建目录 -p
$ mkdir directory
#使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):
mkdir -p father/son/grandson

复制

#复制文件
使用 cp(copy)命令复制一个文件到指定目录。
将之前创建的“ test ”文件复制到“ /home/shiyanlou/father/son/grandson ”目录中:
$ cp test father/son/grandson

#复制目录 -r
$ cp -r father family

删除

#删除文件
$ rm test
#强制删除 -f
$ rm -f test
 
#删除目录 -r
$ rm -r family

移动文件、重命名

#重命名文件
#mv 旧的文件名 新的文件名:
$ mv file1 myfile

#批量重命名
# 使用通配符批量创建 5 个文件:
$ touch file{1..5}.txt
# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
$ rename 's/\.txt/\.c/' *.txt
# 批量将这 5 个文件,文件名改为大写:
$ rename 'y/a-z/A-Z/' *.c

查看文件

cat、tac命令

#cat,tac 打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。
#显示行数 -n
$ cat -n passwd

nl 命令,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。
这里简单列举它的常用的几个参数:
-b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)


tail、head命令

#查看文件前几行
$ tail /etc/passwd
#选择看几行 -n
$ tail -n 1 /etc/passwd
#实时读取某文件内容并显示 -f
$ tail -f /etc/passwd

查看文件类型

$ file /bin/ls

文件打包与压缩

zip命令

$ zip -r -q -o shiyanlou.zip /home/shiyanlou
$ du -h shiyanlou.zip
$ file shiyanlou.zip

上面命令将目录 /home/shiyanlou 打包成一个文件,并查看了打包后文件的大小和类型。
第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小。

注意: 关于 zip 命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:

#需要加上 -l 参数将 LF 转换为 CR+LF 来达到以上目的
$ zip -r -l -o shiyanlou.zip /home/shiyanlou

unzip命令

使用安静模式,将文件解压到指定目录:
$ unzip -q shiyanlou.zip -d ziptest

rar命令

注意:rar 的命令参数没有 -,如果加上会报错。

$ rar a shiyanlou.rar .
上面的命令使用 a 参数添加一个目录 ~ 到一个归档文件中,如果该文件不存在就会自动创建。

从指定压缩包文件中删除某个文件:
$ rar d shiyanlou.rar .zshrc

查看不解压文件:
$ rar l shiyanlou.rar

unrar命令

全路径解压:
$ unrar x shiyanlou.rar

去掉路径解压:
$ mkdir tmp
$ unrar e shiyanlou.rar tmp/

tar命令

不进行压缩只是进行打包(创建归档文件):

$ tar -cf shiyanlou.tar ~

上面命令中,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。你还可以加上 -v 参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的 /,你也可以使用 -P 保留绝对路径符。

 解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):
$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir

只查看不解包文件 -t 参数:
$ tar -tf shiyanlou.tar

压缩常用命令

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

文件上传与下载

rz 命令

rz命令本地上传文件到服务器:
rz -y

sz 命令

sz命令发送文件到本地:
sz filename1 filename2......


文件系统操作与磁盘管理

df 命令

# df 命令查看磁盘的容量
$ df

# 参数-h 易读方式展示
$ df -h

du 命令

du 命令查看目录的容量

$ du

# 易读方式展示
$ du -h 

参数 -d 指定查看目录的深度

# 只查看1级目录的信息
$ du -h -d 0 ~
# 查看2级
$ du -h -d 1 ~

常用参数

du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。
du -a #同--all 显示目录中所有文件的大小。
du -s #同--summarize 仅显示总计,只列出最后加总的值。

进程命令

ps命令

ps -ef  #使用完整的格式显示系统内的所有进程信息

ps aux  #显示当前系统进程详细列表以及进程用户

ps ax|less # 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps ax|grep XXX(XXX为进程名称)

a:显示当前终端启动的进程

u:显示用户为主的进程信息

x:显示所有进程信息

-e:显示系统内的所有进程信息

-l:使用长格式显示进程信息

-f:使用完整的格式显示进程信息

[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

解析:

PID 进程的ID;

%CPU 进程占用的CPU百分比;

%MEM 占用内存的百分比;

COMMAND 命令的名称和参数

[root@localhost ~]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

解析:

R 正在运行,在可中断队列中(就绪状态);

S 处于休眠状态,静止状态;

Z 僵尸进程不存在但暂时无法消除;

kill命令

kill -9 324  #强行杀死PID为324的进程

pkill mysqld  #强行终止mysqld服务进程

后台运行切换

https://blog.csdn.net/u013846293/article/details/74003051


帮助命令

help命令

# help 命令用于显示 shell 内建命令的简要帮助信息
$ help exit

# --help 参数查看外部命令帮助信息
$ ls --help

man命令

#获得某个命令的说明和使用方式的详细介绍
man <command_name>

man手册的内容很多,涉及了 Linux 使用过程中的方方面面。为了便于查找,man 手册被进行了分册(分区段)处理,在 Research UNIX、BSD、OS X 和 Linux 中,手册通常被分为8个区段,安排如下:
区段 说明
1 一般命令
2 系统调用
3 库函数,涵盖了C标准函数库
4 特殊文件(通常是/dev中的设备)和驱动程序
5 文件格式和约定
6 游戏和屏保
7 杂项
8 系统管理命令和守护进程
要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:
$ man 1 ls

通常 man 手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man 中使用搜索/<你要搜索的关键字>,查找完毕后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim 编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,实为less工具的帮助),按下q退出。

想要获得更详细的帮助,你还可以使用info命令,不过通常使用man就足够了。如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用–help参数,大部分命令都会带有这个参数,如:
$ ls --help

###info命令
info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息,所以得到的信息更多。

$ info ls

例行性工作

个人化的行为使用『 crontab -e 』:如果你是依据个人需求来建立的例行工作排程,建议直接使用 crontab -e 来建立你的工作排程较佳! 这样也能保障你的指令行为不会被大家看到 (/etc/crontab 是大家都能读取的权限喔!);

系统维护管理使用『 vim /etc/crontab 』:如果你这个例行工作排程是系统的重要工作,为了让自己管理方便,同时容易追踪,建议直接写入 /etc/crontab 较佳!

自己开发软体使用『 vim /etc/cron.d/newfile 』:如果你是想要自己开发软体,那当然最好就是使用全新的设定档,并且放置于 /etc/cron.d/ 目录内即可。

固定每小时、每日、每周、每天执行的特别工作:如果与系统维护有关,还是建议放置到 /etc/crontab 中来集中管理较好。 如果想要偷懒,或者是一定要再某个周期内进行的任务,也可以放置到上面谈到的几个目录中,直接写入指令即可!

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

crontab命令使用

usage:  crontab [-u user] file
        crontab [ -u user ] [ -i ] { -e | -l | -r }
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)

添加任务计划

crontab -e
* * * * * touch /home/shiyanlou/$(date +\%Y\%m\%d\%H\%M\%S)

注:“ % ” 在 crontab 文件中,有结束命令行、换行、重定向的作用,前面加 ” \ ” 符号转意,否则,“ % ” 符号将执行其结束命令行或者换行的作用,并且其后的内容会被做为标准输入发送给前面的命令。

确认crontab是否成功启动

ps aux | grep cron

or

pgrep cron
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值