linux面试常用命令

显示目录和文件的命令
Ls:用于查看所有文件夹的命令。
Dir:用于显示指定文件夹和目录的命令
Tree: 以树状图列出目录内容
Du:显示目录或文件大小

修改目录,文件权限和属主及数组命令
Chmod:用于改变指定文件的权限命令。
Chown:用于改变文件拥有属性的命令。
Chgrp:用于改变文件群组的命令。
Chattr:用于设置文件具有不可删除和修改权限。
Lsattr:用于显示文件或目录的隐藏属性。

创建和删除目录的命令
Mkdir:用于创建目录
Rmdir:用于删除空的目录
Rm -f:用于删除不为空的目录

创建、删除,重命名,复制文件的命令
Touch:创建一个新的文件
echo:创建带有内容的文件
Vi: 创建一个新的文件
Rm: 删除文件或目录
Mv: 重命名或移动文件的命令
Cp: 复制命令

显示文件内容的命令
Cat:用于显示指定文件的全部内容
More:用分页的形式显示指定文件的内容
Less:用分页的形式显示指定文件的内容,区别是more和less翻页使用的操作键不同。
Head:用于显示文件的前n行内容。
Tail:用于显示文件的后n行内容。
Tail -f:用于自动刷新的显示文件后n行数据内容。

查找命令
Find:查找指定的文件。
Whereis:查找指定的文件源和二进制文件和手册等
Which:用于查询命令或别名的位置。
Locate:快速查找系统数据库中指定的内容。
Grep:查找文件里符合条件的字符串。

关机和重启计算机的命令
Shutdown:-r 关机后立即重启
Shutdown:-k 并不真正的关机,而只是发出警告信息给所有用户
Shutdown:-h 关机后不重新启动
Poweroff:用于关机和关闭电源
Init:改变系统运行级别

    0级用于关闭系统

    1 级用于单一使用者模式

    2级用来进行多用户使用模式(但不带网络功能)

    3级用来进行多用户使用模式(带网络全功能)

    4级用来进行用户自定义使用模式

    5级表示进入x  windows时的模式

    6级用来重启系统

Reboot: 用于计算机重启
Halt:用于关闭计算机系统

压缩和打包命令
Tar:用于多个文件或目录进行打包,但不压缩,同时也用命令进行解包
Gzip:用于文件进行压缩和解压缩命令,文件扩展名为.gz结尾。
Gunzip:用于对gzip压缩文档进行解压缩。
Bzip2:用于对文件或目录进行压缩和解压缩
Bzcat:用于显示压缩文件的内容。
Compress/un compress: 压缩/解压缩.Z文件
Zcat:查看z或gz结尾的压缩文件内容。
Gzexe:压缩可执行的文件
Unarg:解压缩.arj文件
Zip/unzip:压缩解压缩.zip文件

用户操作命令
Su:切换用户命令
Sudo:一系统管理员的身份执行命令
Passwd:用于修改用户的密码

改变目录和查看当前目录命令
当前目录和上层目录: ./ ../
主目录: ~/
绝对路径: 如/etc/init.d
Cd:进入工作目录
Cd ..:会退到上一级命令
Pwd:显示当前用户所在工作目录位置,查看当前路径
查看当前进程: ps
执行退出: exit

文件连接命令
ln:为源文件创建一个连接,并不将源文件复制一份,即占用的空间很小。
可以分为软件连接和硬链接。
软连接:也称为符号连接,即为文件或目录创建一个快捷方式。
硬链接:给一个文件取多于一个名字,放在不同目录中,方便用户使用。
硬链接: ln link source

ln命令参数如下:
-s:创建软连接,即符号连接。
-f:在创建连接时,先将与目的对象同名的文件或目录删除。
-d:允许系统管理者硬链接自己的目录。
-i:在删除与目的对象同名文件或目录时先询问用户。
-n:在创建软连接时,将目的对象视为一般的文件。
-v:在连接之前显示文件或目录名。
-b:将在连接时会被覆盖或删除的文件进行备份。

dpkg (Debian Package)管理工具
软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件

帮助命令—–man

其他命令
Who:显示系统中有那些用户在使用。

    -ami  显示当前用户
    -u:显示使用者的动作/工作
    -s:使用简短的格式来显示
    -v:显示程序版本    

Ps:显示瞬间进程的动态
Pstree:以树状方式显示系统中所有的进程
Free:查看当前系统的内存使用情况
Kill: 杀死一些特定的进程
Logout:退出系统
Useradd/userdel:添加用户/删除用户
Clear:清屏
Passwd:设置用户密码
退出当前命令: ctrl+c 彻底退出
执行睡眠 : ctrl+z 挂起当前进程
Uptime:显示系统运行了多长时间
Top: 动态地显示进程
Date:显示或设定系统的日期与时间。
Last:显示每月登陆系统的用户信息

vim编辑器
首先用vi命令打开一个文件
末行模式命令:
:n,m w path/filename 保存指定范围文档( n表开始行,m表结束行)
:q! 对文件做过修改后,强制退出
:q 没有对文件做过修改退出
:Wq或x 保存退出
: dd 删除光标所在行
: set number 显示行号
:n 跳转到n行
:s 替换字符串
:s/test/test2/g /g全局替换 /也可以用%代替
: / 查找字符串

网络通信常用的命令
Netstat:显示网络连接.路由表和网络接口信息
Ping:用于查看网络是否连接通畅
Wget:从网路上自动下载文件
Write:向其它用户终端写信息
Ssh:安全模式下远程登陆
Telnet:远程登录
Arp:网络地址显示及控制
ftp:文件传输
Lftp:文件传输
Mail:发送/接收电子邮件
Mesg:允许或拒绝其他用户向自己所用的终端发送信息
Mutt E-mail 管理程序
Ncftp :文件传输
Pine:收发电子邮件,浏览新闻组
Talk:与另一用户对话
Traceroute:显示到达某一主机所经由的路径及所使用的时间。
Rlogin:远程登录

Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
(1)不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
(2)暂停状态/跟踪状态:向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;
当进程正在被跟踪时,它处于TASK_TRACED 这个特殊的状态。
“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作。
(3)就绪状态:在 run_queue 队列里的状态
(4)运行状态:在 run_queue 队列里的状态
(5)可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
(6)zombie 状态(僵尸):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
(7)退出状态

D 不可中断 Uninterruptible(usually IO)
R正在运行,或在队列中的进程
S处于休眠状态
T停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核 2.6 开始无效)
X死掉的进程

最常用命令:

man 察看命令详解,只要觉得哪个命令不清楚,man它就可以了.

man ls

ln 创建链接文件
ln -s sourceName destName

ls 列出文件
-l: 逐行显示且列出详细属性
-a: 列出所有文件包括以.开头的隐藏文件

cat 读取文本内容
-n: 显示行号
-b: 显示行号且忽略空行
eg:
cat -n 1.txt

cp 拷贝文件 目录
-i: 交互模式,如果目标文件存在,则询问是否覆盖
-r: 拷贝目录
cp file1 file2 file3…. dir : 表示将file1,file2…拷贝到dir
cp -r dir1 dir2 dir3… dirn : 将dir1, dir2,dir3…拷贝到dirn

mv 移动文件,更改文件名
-i: 交互模式,如果目标文件存在,则询问是否覆盖
-r: 移动目录,更改目录名

rm 删除文件
-i: 交互模式,询问是否删除
rm -r dir1 dir2 dir3…可删除多个

mkdir 创建目录
-p: parent,父目录不存在,则创建父目录
eg:
mkdir -p test/test

rmdir 删除目录
等同与rm -r
rmdir dir1 dir2 dir3 ….
rm -r dir1 dir2 dir3 ….

tar
-c 创建新文档
-x 解包
-v 显示正在处理的文件名
-f 取代默认的文件名
tar -cvf project.tar project/* :把project目录下所有文件打包
tar -xvf project.tar

chmod 更改权限
chmod -R 777 DIR改变目录下所有文件权限为777,必须是-R

权限 -rwxrwxrwx
421421421
最前面的-表示文件类型为普通文件
接下来三位表示所有者权限
接下来三位表示组权限
最后三位表示其它用户权限
如果某一权限没有被分配,用-表示。-rwxr–rwx表示组没有写和执行权限
文件加夜有可执行权限,但表示是否容许在该目录下寻找文件

chown 改变所有者
chgrp 改变组

ps
显示所有进程
eg:
ps -f 显示完全信息,包括占用cpu时间,开始时间。。。

kill
-9 强制结束

more
显示文本内容,每次一屏,按空格继续
find / -name “*.sh” | more

fg
把后台进程放到前台
eg:
fg %1: 把后台第一个作业放到前台

bg
把前台进程放到后台

jobs
显示后台或挂起的进程

wc: 计数
-l: 行数
-w: 字数
-c: 字符数
wc -l file1 file2 ……可以统计多个文件

command &
命令后面加&表示在后台运行
find . -name “*.sh”&

tail
从指定的位置开始显示后面得内容
eg:
tail -f server.log 用于在server上边运行边察看日志
tail -10 dos2unix.sh 察看最后10行

head
与tail对应

sort
排序
-r 逆序
-d 字典顺序
eg:
ls | sort -r

tr
字符替换
-d 删除指定字符 ls | tr -d ‘log’
ls | tr ‘d’ ‘g’把d变成g

at time date job
定时调度

compress
-f 压缩文件
-v 显示压缩比例
compress -vf project.tar 将产生project.tar.Z且project.tar被删除

uncompress
-f 解压缩文件
-v 显示压缩比例
uncompress project.tar.Z 将产生project.tar且project.tar.Z被删除

crontab
  使用权限 : 所有使用者
  使用方式 :
  crontab [ -u user ] file
  crontab [ -u user ] { -l | -r | -e }
  crontab 指定使用者在固定时间执行程序,换句话说,即使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参考文章:http://blog.csdn.net/ggxxkkll/article/details/19761075

猜你喜欢

转载自blog.csdn.net/yato0514/article/details/79062503
今日推荐