linux

xiaoxiao2021-02-28  75

文章目录

常用快捷键常用命令ls命令更改用户权限目录结构及文件操作其它命令文件类型 shell常用通配符文件基本操作新建复制删除移动文件、重命名查看文件查看文件类型 文件打包与压缩zip命令unzip命令rar命令unrar命令tar命令压缩常用命令 文件上传与下载rz 命令sz 命令 文件系统操作与磁盘管理df 命令du 命令 进程命令ps命令kill命令后台运行切换 帮助命令help命令man命令 例行性工作

常用快捷键

按键作用Ctrl+c终止进程Ctrl+d键盘输入结束或退出终端Ctrl+s暂停当前程序,暂停后按下任意键恢复运行Ctrl+z将当前程序放到后台运行,恢复到前台为命令fgCtrl+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
转载请注明原文地址: https://www.6miu.com/read-37210.html

最新回复(0)