本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Linux常用10条基础命令
假装这里有个标题
Linux下命令如此之多,但我们所常用命令却并非如此。参考了众多博客后,以下10条常用命令送给大家
1.cd
对于目录或是说文件夹的打开与关闭是Linux下最基础的命令,而cd命令正是这么一个有趣的目录处理命令
cd /home #打开home目录(注意cd与/之间有一个空格)
#cd ./home与 cd home 基本上没差别这个点号可加可不加
cd /home/lane #打开home目录下的lane目录
#这里的home与lane为目录名称
#需要对应自己的目录将代码中的home与file修改为自己目录下的文件夹
cd .. #返回上一层目录
cd ../local #返回上一层目录并打开上一层目录中的local目录
#这里的local与前面的home与lane一样需要该为你自己目录下存在的目录
#若不小心按错了可以按键盘方向键“↑”回到上一步的代码进行修改后在回车
#或是直接Ctrl + C退出操作从头来也可以的(哈哈)
#Linux下的Ctrl C与Ctrl V不能用于复制粘贴,需要鼠标右击进行复制粘贴
2.ls
刚刚我们学会的如何打开与关闭目录,那我们接下来就用ls看下我们的目录中都有哪些子目录或是文件吧
ls -l #列出长数据串,包含文件的属性与权限数据等
#和前面一样,注意ls与-之间有一个空格
ls -a #列出包括隐藏文件的全部文件
# 隐藏文件的开头为 . 例如 .unknow为名为unknow的隐藏目录
ls -d #仅列出目录本身,而不是列出目录的文件数据
ls -h #将文件容量以较易读的方式(GB,kB等)列出来
ls -R #连同子目录的内容一起列出,该目录下的所有文件都会显示出来
这些参数不仅可以单独使用还可以联合使用诶
ls -lR #以长数据串的形式列出当前目录下的所有文件
ls -aR #列出该目录下包括隐藏目录与子目录的所有文件
还有很多种组合就等着大家多去组合实验了,哈哈哈
3.grep
grep命令那就常用于分析一行的信息了,它可以将我们所需要的信息显示出来,grep命令通常与ls命令一起使用,用于对一些命令的输出进行筛选加工等等,还是挺不错的。
grep -a abcd #将文件以text文件的方式查找数据
grep -c abcd #计算找到字符串abcd出现的次数
grep -i AbCd #忽略大小写的区别,将带有abcd这个字符串的所有内容标注出来
grep -v abcd #反向标注,标注不含abcd的内容
grep --color=auto 'abcd' /home/lane/test
# 取出文件/home/lane/test 中包含abcd的行,并把找到的关键字加上颜色
ls -l | grep -i AbcD
# 把ls -l的输出中包含字母abcd(不区分大小写)的内容输出
4.find
find命令,顾名思义就是用来查找的命令了,相比于其他的命令。find错综复杂参数众多,适当的挑选一些掌握吧。
find [PATH] [option] [action]
# 先来几个与时间有关的参数
find -mtime n #n就是一个数字,列出在n天之前那一天中被更改过的文件名
find -mtime +n #列出在之前 n天中(不含n天本身)被更改过的文件名
find -mtime -n #列出在n天之内(含n天本身)被更改过的文件名
find -newer file #列出比file还要新的文件名
#举个栗子
find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件
# 与用户或用户组名有关的参数:
find -user name #列出文件所有者为name的文件
find -group name #列出文件所属用户组为name的文件
find -uid nnme #列出文件所有者为用户ID为name的文件
find -gid name #列出文件所属用户组为用户组ID为name的文件
#再举个栗子
find /home/lane -user name # 在目录/home/lane中找出所有者为name的文件
# 与文件权限及名称有关的参数:
find -name abcd #找出文件名为abcd的文件
find -size [+-]SIZE #找出比SIZE还要大(+)或小(-)的文件
find -tpye TYPE #查找文件的类型为TYPE的文件
# TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
find -perm mode #查找文件权限刚好等于mode的文件,mode用数字表示,如0777;
find -perm -mode #查找文件权限必须要全部包括mode权限的文件,mode用数字表示
find -perm +mode #查找文件权限包含任一mode的权限的文件,mode用数字表示
# 还有个栗子
find / -name abcd # 查找文件名为abcd的文件
find . -perm 0777 # 查找当前目录中文件权限的0777的文件
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
5.cp
cpcp就是copy的简写,也是顾名思义,用来复制东西的一个命令
cp -a #将文件的特性一起复制
cp -p #连同文件的属性一起复制,与-a相似,常用于备份
cp -i #若目标文件已经存在时,在覆盖时会先询问操作的进行
cp -r #递归持续复制,用于复制目录
cp -u #目标文件与源文件有差异时才会进行复制
#来个cp的栗子
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
6.mv
mv和上面那个东西一样是简写来的,move,用于文件目录的移动或更名
mv -f #f就是force强制的意思,如果目标文件已经存在,不会询问直接覆盖
mv -i #若目标文件已经存在,就会询问是否覆盖
mv -u #若目标文件已经存在,且比目标文件新,才会更新
栗子栗子
mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中
mv file1 file2 # 把文件file1重命名为file2
#若mv后的文件名大于等于3个则最后一个一定要是一个目录的名字
7.rm
rm那不用说了吧,一样的,remove,用于删除文件或目录
rm -f #一样的force,忽略不存在的文件,直接删不告诉你
rm -i #这个就会问你一下要不要删了
rm -r #递归删除,最常用于目录的删除
来个栗子
rm -i text # 删除文件text,当然会问下你要不要删的
rm -fr test # 直接删掉目录test中的所有文件,不管你
8.ps
process,显示进程的运行情况
ps -A #显示所有进程
ps -a #显示跟terminal没关系的所有进程
ps -u #显示有效用户的相关进程
ps -x #就跟a一起用吧,会列出更完整的信息
ps -l #这个会比较详细地把PID的信息列出来
栗子栗子
ps aux # 这个就是查看系统所有的进程数据了
ps ax # 可以看下跟erminal没关系的所有进程
ps -lA # 跟上面那个 aux一样的
ps axjf # 这个是查看连同一部分进程树的状态
9.kill
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:
kill -signal PID
signal的常用参数如下: (最前面的数字为信号的代号,使用时可以用代号代替相应的信号) SIGHUP,启动被终止的进程 SIGINT,相当于输入ctrl+c,中断一个程序的进行 SIGKILL,强制中断一个进程的进行 SIGTERM,以正常的结束进程方式来终止进程 SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
栗子
# 结束第一个后台工作,可用jobs命令查看后台中的第一个工作进程
kill -SIGTERM %1
# 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得
kill -SIGHUP PID
10.kill all
kill all用于向一个命令启动的进程发送一个信号,它的一般语法如下: killall [-iIe] [command name]
killall -i #交互式的意思,若需要删除时,会询问用户
killall -e #表示后面接的command name要一致,command name不能超过15个字符
killall -I #命令名称忽略大小写
栗子
killall -SIGHUP syslogd # 重新启动syslogd