您现在的位置是:网站首页> 编程资料编程资料
Linux常用命令大全(超全面)_linux shell_
2023-05-26
440人已围观
简介 Linux常用命令大全(超全面)_linux shell_
日常使用命令
开关机命令
1、shutdown –h now:立刻进行关机
2、shutdown –r now:现在重新启动计算机 3、reboot:现在重新启动计算机 4、su -:切换用户;passwd:修改用户密码 5、logout:用户注销
常用快捷命令
1、tab = 补全
2、ctrl + l -:清屏,类似clear命令 3、ctrl + r -:查找历史命令(history);ctrl+c = 终止 4、ctrl+k = 删除此处至末尾所有内容 5、ctrl+u = 删除此处至开始所有内容 6、linux中的帮助命令:man、info、--help【[root@localhost ~]# man ls;[root@localhost ~]# info ls;[root@localhost ~]# ls –help】。退出帮助的话,按快捷键q
日常操作命令
1、ls
ls命令是列出目录内容的意思(List Directtory Contents)。运行它就是列出文件夹的内容,可能是文件也可能是文件夹。 ls -l命令以详情模式(long listing fashion)列出文件夹的内容。 ls -a命令会列出文件夹里的所有内容,包括以"."开头的隐藏文件。 注意:在Linux中,文件以“.”开头就是隐藏文件,并且每个文件,文件夹,设备或者命令都是以文件对待。 2、lsblk lsblk就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备。 lsblk -l命令以列表格式显示块设备(而不是树状格式)。 注意:lsblk是最有用和最简单的方式来了解新插入的USB设备的名字,特别是当你在终端上处理磁盘/块设备时。 3、uname "uname"命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。 注意:uname显示内核类别,uname -a显示详细信息。 4、history “history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。 5、sudo “sudo”(super userdo)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。 注意:sudo允许用户借用超级用户的权限,然而"su"命令实际上是允许用户以超级用户登录。所以sudo比su更安全。 并不建议使用sudo或者su来处理日常用途,因为它可能导致严重的错误如果你意外的做错了事。 6、chmod “chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。 7、chown “chown”命令就是改变文件拥有者和所在用户组。每个文件都属于一个用户组和一个用户。在你的目录下,使用"ls -l",你就会看到像这样的东西。 8、apt Debian系列以“apt”命令为基础,“apt”代表了Advanced Package Tool。APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动地,智能地搜索,安装,升级以及解决依赖。例如:apt-get install mplayer 9、cal “cal”(Calender),它用来显示当前月份或者未来或者过去任何年份中的月份。 10、date “date”命令使用标准的输出打印当前的日期和时间,也可以深入设置。
系统常用操作命令
1、指定运行级别
命令:init[0123456]
运行级别:(0:关机;1:单用户;2:多用户状态没有网络服务;3:多用户状态有网络服务;4:系统未使用保留给用户;5:图形界面;6:系统重启)。 常用运行级别是3和5,要修改默认的运行级别可修改文件/etc/inittab的id:5:inittab:这一行的数字。 在启动引导界面的时候按e进入编辑,在进入grub引界面时,请输入e再选中第二个选项按e,再最后输入1[单用户级别],然后按b进入单用户模式。 *:可通过此方法进行linux用户密码的修改。
2、文件显示命令
more:显示文件内容,带分页;
less:显示文件内容带分页; grep:在文件中查询内容,grep –n “查找内容” 文件名; | [管道命令]:在linux和unix系统中 | 就是管道命令,把上一个命令的结果交给 | 的后面的命令进行处理。 例:grep –n “查找内容” 文件名 | more cat:把文件串连接后输出到屏幕或加 > fileName 到另一个档案。 head:格式:head [-n|c num]fileName,说明:显示文件头部内容。没有参数时,显示最前10行。 tail:格式:tail [-n|c num]fileName,说明:显示文件尾部内容。没有参数时,显示最后10行。 cut:格式:cut -cnum1-num2 filename,说明:显示每行从开头算起第 num1 到 num2 的字符。
3、文件搜索命令find
find:搜索文件及目录
在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而find命令可以解决上述问题。 1、在特定的目录下搜索并显示指定名称的文件和目录。 find / -name man:意思是说从根目录开始搜索名称为man的文件或目录。 2、搜索一段时间内被存取/变更的文件或目录 find / home–amin -10:十分钟内存取的文件或目录 find / home–atime -10:十小时内存取的文件或目录 find / home–cmin -10:十分钟内更改过的文件或目录 find / home–ctime -10:十小时内更改过的文件或目录 3、搜索指定大小的文件 find / home–size +10k:意思是说查找/home目录下大小为10K的文件。
4、重定向命令
重定向命令:管道定向命令“>”为覆盖,“>>”追加写在原文件内容后面。
ls –l >a.txt 列表的内容写入文件a.txt中(覆盖写)。 ls –al>> aa.txt 列表的内容追加到文件aa.txt的末尾。
5、其他命令
who:格式:who - [husfV] [user]。说明:显示有哪些用户登录到系统中,显示的信息包含用户ID,使用的终端,上线时间,呆滞时间,CPU使用量,动作等等。相关命令 : who am i:显示当前用户是谁。
sleep:格式:sleep [--help] [--version] number[smhd]。说明 : sleep 可以用来将当前动作延迟一段时间。 kill:格式:kill [ -s signal ] pid ... 或 kill -l [ signal ]。说明:kill送出一个特定的信号 (signal) 给进程号为 pid 的进程。根据该信号而做特定的动作,若没有指定,默认是送出终止(TERM)信号。 ps:格式:ps [options] [--help]。说明:显示进程的名称、占用资源、状态等。 top:说明:显示CPU的使用率、内存大小、内存使用率、进程状态等。
原文:https://blog.csdn.net/zengxiantao1994/article/details/78075920
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
关机 (系统的关机、重启以及登出 )
shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
文件和目录
cd /home 进入 ‘/ home' 目录'
cd … 返回上一级目录
cd …/… 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls [0-9] 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 ‘dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 ‘file1' 的文件'
rmdir dir1 删除一个叫做 ‘dir1' 的目录'
rm -rf dir1 删除一个叫做 ‘dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80x60 “thumbs/{}” ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
文件搜索
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天内被创建或者修改过的文件
find / -name *.rpm -exec chmod 755 ‘{}' ; 搜索以 ‘.rpm' 结尾的文件并定义其权限
find / -xdev -name *.rpm 搜索以 ‘.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate *.ps 寻找以 ‘.ps' 结尾的文件 - 先运行 ‘updatedb' 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2' 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2' 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
磁盘空间
df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 ‘dir1' 已经使用的磁盘空间'
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf ‘%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f=' I n s t a l l e d − S i z e ; 10 t {Installed-Size;10}t Installed−Size;10t{Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( ‘-r' 排除主目录)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck 检查 ‘/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
文件的权限 - 使用 “+” 设置权限,使用 “-” 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
c
相关内容
- 脚本批量检测网站是否存活_linux shell_
- telnet 命令使用方法大全_linux shell_
- shell脚本快速创建格式化磁盘与详细操作步骤_linux shell_
- Shell脚本入门之编写格式与执行方式的实现_linux shell_
- 分享一个可以通过命令简写执行对应命令的Shell脚本_linux shell_
- 如何写出安全的、基本功能完善的Bash脚本_linux shell_
- shell脚本使用两个横杠接收外部参数的方法_linux shell_
- Rsync 秒杀一切备份工具,你能手动屏蔽某些目录吗?_linux shell_
- Linux 终端中命令输出保存到文件中的方法_linux shell_
- Impala-shell命令参数的实现_linux shell_
