10 ຄຳ ສັ່ງ Linux ທີ່ມີປະສິດຕິພາບທີ່ຮູ້ຈັກ ໜ້ອຍ - ພາກທີ IV
ສືບຕໍ່ຊຸດທີ່ຮູ້ຈັກຫນ້ອຍ, ບົດຂຽນທີສີ່ຂອງຊຸດນີ້ຈະຊ່ວຍໃຫ້ທ່ານຮູ້ ຄຳ ສັ່ງທີ່ມີປະໂຫຍດແລະມີພາບເຄື່ອນໄຫວບາງຢ່າງ. ໃນທີ່ນີ້ພວກເຮົາເຂົ້າໄປໃນກອງປະຊຸມພາກປະຕິບັດ, ໂດຍບໍ່ມີທິດສະດີຫຼາຍ.
<
ໃນບົດຂຽນທີສີ່ຂອງຊຸດນີ້ເຊິ່ງປະກອບມີ ຄຳ ສັ່ງ Linux ທີ່ບໍ່ຮູ້ຈັກ ໜ້ອຍ, ມີມູນຄ່າທີ່ຈະຮູ້. ທ່ານອາດຈະຮູ້ກ່ຽວກັບ ຄຳ ສັ່ງເຫຼົ່ານີ້ແລ້ວ, ແນ່ນອນວ່າທ່ານເປັນຜູ້ໃຊ້ Linux ທີ່ມີປະສົບການແລະມັກການ ສຳ ຫຼວດ.
32. strace Command
strace ແມ່ນເຄື່ອງມືແກ້ໄຂເຊິ່ງໄດ້ຖືກນໍາໃຊ້ຕົ້ນຕໍໃນການແກ້ໄຂບັນຫາຈຸດປະສົງໃນ Linux. ມັນອາດຈະບໍ່ຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນໃນລະບົບຂອງທ່ານແລະທ່ານອາດຈະຕ້ອງການໃຫ້ ເໝາະ ສົມກັບຊຸດທີ່ຕ້ອງການ.
ຕິດຕາມການປະຕິບັດ ຄຳ ສັ່ງໂດຍໃຊ້ ຄຳ ສັ່ງສາຍ:
[email [~]# strace pwd
execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "7ELFexecve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....execve("/bin/pwd", ["pwd"], [/* 29 vars */]) = 0 brk(0) = 0x728000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0df2000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=38427, ...}) = 0 mmap(NULL, 38427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f29b0de8000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\355\1I;\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1922152, ...}) = 0 mmap(0x3b49000000, 3745960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3b49000000 mprotect(0x3b4918a000, 2093056, PROT_NONE) = 0 mmap(0x3b49389000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x189000) = 0x3b49389000 mmap(0x3b4938e000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3b4938e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de7000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29b0de5000 ....ຄໍາສັ່ງ strace ຍອມຮັບການໂຕ້ຖຽງຫຼາຍແລະມີຫລາຍທາງເລືອກ. ເບິ່ງ ໜ້າ man ສຳ ລັບຂໍ້ມູນລະອຽດ.
33. ປະຕິເສດ -a && ອອກຈາກ Command
ຜູ້ເບິ່ງແຍງລະບົບສ່ວນໃຫຍ່ໃຊ້ ຄຳ ສັ່ງ ໜ້າ ຈໍເພື່ອຄວບຄຸມວຽກທີ່ ກຳ ລັງເຮັດວຽກຢູ່ໃນພື້ນຫລັງ. ໃຫ້ເວົ້າວ່າຖ້າທ່ານມີວຽກເຮັດງານ ທຳ ທີ່ຍາວນານແລະຢາກແຍກອອກຈາກທ່າເຮືອ, ທ່ານໃຊ້ ຄຳ ສັ່ງ ໜ້າ ຈໍເພື່ອເຮັດ. ແຕ່ຈະເປັນແນວໃດຖ້າທ່ານບໍ່ຮູ້ວິທີໃຊ້ ໜ້າ ຈໍ, ນີ້ແມ່ນປະຕິເສດ ຄຳ ສັ່ງໃຫ້ກູ້ໄພ.
ຄຳ ສັ່ງທີ່ປະຕິເສດແມ່ນໃຊ້ເພື່ອ ດຳ ເນີນວຽກຕ່າງໆຢ່າງຕໍ່ເນື່ອງໃນພື້ນຫລັງເຖິງແມ່ນວ່າທ່ານຈະປິດປະຕູປາຍທາງ. syntax ຂອງ ຄຳ ສັ່ງທີ່ປະຕິເສດແມ່ນ:
[email [~]# Command; disown -a && exitເພື່ອຊອກຫາວຽກທີ່ ກຳ ລັງເຮັດຢູ່ປາຍທາງອີກຄັ້ງ ໜຶ່ງ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງວຽກເພື່ອຊອກຫາເລກວຽກແລະຫຼັງຈາກນັ້ນໃຫ້ປະຕິເສດ% n ບ່ອນທີ່ n ແມ່ນເລກວຽກ. ເພື່ອພິສູດຕົວຈິງວ່າວຽກທີ່ ກຳ ລັງເຮັດວຽກແມ່ນໃຊ້ ps ຫລື ຄຳ ສັ່ງສູງສຸດ. ຄຳ ສັ່ງ nohup ແມ່ນທາງເລືອກ ສຳ ລັບ ຄຳ ສັ່ງທີ່ປະຕິເສດ.
34. getconf LONG_BIT Command
ຄຳ ສັ່ງຂ້າງເທິງສະແດງໃຫ້ເຫັນສະຖາປັດຕະຍະ ກຳ ເຄື່ອງຂອງທ່ານຖ້າມັນແມ່ນ 32 ບິດຫລື 64 ບິດ?
[email [~]# getconf LONG_BIT 3235. ສະແດງວັນທີໃນສະ ໜາມ
ຄໍາສັ່ງຂ້າງລຸ່ມນີ້ແມ່ນການລວມເອົາຫລາຍໆ ຄຳ ສັ່ງ, ໃຫ້ເວົ້າວ່າມັນເປັນຄິບທີ່ດີກວ່າ. ສຳ ລັບບຸກຄົນທີ່ເຮັດວຽກຢູ່ຫອຍຫລືປາຍທາງ, ໂດຍບໍ່ເຫັນ GUI ເຫັນວັນທີລະບົບປະຈຸບັນແມ່ນວຽກທີ່ ໜ້າ ເບື່ອ. ທ່ານຕ້ອງພິມ ຄຳ ສັ່ງ ‘date’ ເພື່ອກວດເບິ່ງວັນທີຂອງມື້ນີ້.
ພຽງແຕ່ປະຕິບັດ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້ໃສ່ທ່ານກະຕຸ້ນແລະເບິ່ງວັນທີແລະເວລາຢູ່ແຈຂວາມືຂ້າງເທິງຂອງປາຍ.
[email [~]# while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &36. ປ່ຽນ Command
ໃນຂະນະທີ່ຂຽນບົດແນະ ນຳ, ຂ້ອຍມັກຈະຕ້ອງຜະລິດຜົນຜະລິດ, ຫຼາຍຄັ້ງໃນຮູບແບບຮູບພາບ. ການປະສົມປະສານ ຄຳ ສັ່ງຂ້າງເທິງນີ້ເຮັດສິ່ງນີ້ ສຳ ລັບຂ້ອຍ. ບອກວ່າຂ້ອຍຕ້ອງການຜົນຜະລິດຂອງ ຄຳ ສັ່ງຕົ້ນໄມ້ (ສຳ ລັບ/etc/x11 ໄດເລກະທໍລີ) ໃນຮູບແບບຮູບພາບ. ສິ່ງທີ່ຂ້ອຍເຮັດຢູ່ປາຍທາງແມ່ນ:
[email :/etc/X11# tree | convert label:@- /home/avi/tree.pngຜົນໄດ້ຮັບຂອງ ຄຳ ສັ່ງຂ້າງເທິງນີ້ສາມາດເຫັນໄດ້ທີ່ສະຖານທີ່ທີ່ ກຳ ນົດ (ໃນນີ້, ລະບົບເກັບມ້ຽນທີ່ຢູ່ເຮືອນຂອງຂ້ອຍ) ໂດຍມີຊື່ເອກະສານທີ່ລະບຸໄວ້ເປັນ tree.png.
37. ເບິ່ງ -t -n1“ ວັນທີ +% T | figlet”
ຈືຂໍ້ມູນການ ຄຳ ອະທິບາຍຂອງພວກເຮົາກ່ຽວກັບ ຄຳ ສັ່ງ“ figlet” ໃນບົດຂຽນກ່ອນ ໜ້າ ນີ້ຂອງພວກເຮົາ“ 20 Commands Funny ຂອງ Linux”. ຄຳ ສັ່ງນີ້ແມ່ນເຢັນຫຼາຍ, ເທື່ອນີ້ພວກເຮົາຈະໄດ້ຮວບຮວມ 'ຮູບປະ ຈຳ ຕົວ' ເພື່ອສະແດງໂມງດິຈິຕອນທີ່ມີຊີວິດຢູ່ໃນສະ ໜາມ.
ພຽງແຕ່ກວດເບິ່ງຕົວເອງ, ຈື່ວ່າທ່ານຕ້ອງໄດ້ຕິດຕັ້ງ figlet ຢູ່ໃນລະບົບ, ເຮັດ apt ຫຼື yum ເພື່ອຕິດຕັ້ງຊຸດທີ່ຕ້ອງການ.
[email [~]# watch -t -n1 "date +%T|figlet"_ ___ ____ ___ _____ _ _ Fri Nov 29 10:29:34 GMT / |/ _ \ _|___ \ / _ \ _|___ /| || | | | | | (_) __) | (_) (_) |_ \| || |_ | | |_| |_ / __/ \__, |_ ___) |__ _| |_|\___/(_)_____| /_/(_)____/ |_|38. ເປັນເຈົ້າພາບແລະຂຸດຄົ້ນ Commands
ເຖິງແມ່ນວ່າ ຄຳ ສັ່ງ“ ໂຮດຕິ້ງ” ແລະ“ ຂຸດ” ບໍ່ຄ່ອຍເປັນທີ່ຮູ້ຈັກ ໜ້ອຍ, ແຕ່ຍັງບໍ່ຄ່ອຍຖືກ ນຳ ໃຊ້ເລື້ອຍໆ. ຄໍາສັ່ງຂອງເຈົ້າພາບແມ່ນປະໂຫຍດຂອງ DNS lookup.
[email [~]# host www.google.com www.google.com has address 173.194.66.147 www.google.com has address 173.194.66.105 www.google.com has address 173.194.66.99 www.google.com has address 173.194.66.104 www.google.com has address 173.194.66.106 www.google.com has address 173.194.66.103 www.google.com has IPv6 address 2a00:1450:400c:c03::68[email [~]# dig www.google.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> www.google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<39. dstat ຄຳ ສັ່ງ
dstat ແມ່ນເຄື່ອງມືທີ່ຫລາກຫລາຍ, ເຊິ່ງສ້າງສະຖິຕິທີ່ກ່ຽວຂ້ອງກັບຊັບພະຍາກອນຂອງລະບົບ. ໂດຍປົກກະຕິແລ້ວລະບົບຂອງທ່ານອາດຈະບໍ່ໄດ້ຕິດຕັ້ງ 'ຢູ່'. ເຮັດ apt ຫຼື yum ໃນການຕິດຕັ້ງ 'dstat' ກ່ອນທີ່ຈະໃຊ້ເຄື່ອງຈັກຜະລິດຊັບພະຍາກອນລະບົບທີ່ມີສີສັນແລະລາຍລະອຽດຫຼາຍ.
[email [~]# dstat40. bind -p ຄຳ ສັ່ງ
ຄຳ ສັ່ງ 'ຜູກ -p' ຈະສະແດງໃຫ້ເຫັນທາງລັດທັງ ໝົດ ທີ່ມີຢູ່ ສຳ ລັບແກະ BASH.
[email [~]# bind -p"\C-g": abort "\C-x\C-g": abort "\e\C-g": abort "\C-j": accept-line "\C-m": accept-line # alias-expand-line (not bound) # arrow-key-prefix (not bound) # backward-byte (not bound) "\C-b": backward-char "\eOD": backward-char "\e[D": backward-char "\e!": complete-command "\e/": complete-filename "\[email ": complete-hostname "\e{": complete-into-braces "\e~": complete-username "\e$": complete-variable # copy-backward-word (not bound) # copy-forward-word (not bound) # copy-region-as-kill (not bound) .... ....41. ແຕະ/forcefsck
ຄຳ ສັ່ງຂ້າງເທິງນີ້ຈະສ້າງໂຟນເດີທີ່ບໍ່ມີຂໍ້ມູນວ່າ 'forcefsck', ພາຍໃຕ້ລະບົບຮາກ. ສິ່ງນີ້ຈະບັງຄັບໃຫ້ລະບົບ Linux ກວດສອບລະບົບເອກະສານທີ່ໃສ່ເກີບຕໍ່ໄປ.
[email [~]# touch /forcefsckທັງ ໝົດ ນີ້ ສຳ ລັບດຽວນີ້. ທ່ານຜູ້ທີ່ຮັກ 'ບັນດາ ຄຳ ສັ່ງທີ່ຮູ້ຈັກ ໜ້ອຍ ກວ່າ' ແລະດັ່ງນັ້ນພວກເຮົາ ກຳ ລັງສືບຕໍ່ຊຸດ, ບົດຂຽນຕໍ່ໄປຂອງຊຸດນີ້ຈະມີໃນໄວໆນີ້.
ຈົນກ່ວາຫຼັງຈາກນັ້ນຕິດຕາມແລະເຊື່ອມຕໍ່ກັບ Tecmint. ຢ່າລືມໃຫ້ ຄຳ ຕິຊົມທີ່ມີຄຸນຄ່າຂອງທ່ານໃນພາກ ຄຳ ເຫັນຂອງພວກເຮົາ. ກະລຸນາຊ່ວຍເຫຼືອພວກເຮົາ, Like ແລະແບ່ງປັນພວກເຮົາແລະຊ່ວຍພວກເຮົາເຜີຍແຜ່.