คำถามติดแท็ก tmp

6
สร้างไฟล์ชั่วคราวในเชลล์สคริปต์ได้อย่างไร
ในขณะที่เรียกใช้สคริปต์ฉันต้องการสร้างไฟล์ชั่วคราวใน/tmpไดเรกทอรี หลังจากเรียกใช้งานสคริปต์นั้นสคริปต์นั้นจะถูกกำจัด วิธีทำในเชลล์สคริปต์?
155 shell-script  tmp 


1
จะเกิดอะไรขึ้นเมื่อคุณ 'ติดตั้ง' โฟลเดอร์ที่มีเนื้อหาอยู่
ตอนนี้/tmpมีไฟล์ชั่วคราวอยู่ในนั้น เมื่อฉันติดตั้งฮาร์ดไดรฟ์ ( /dev/sdc1) ที่ด้านบนของ/tmpฉันจะเห็นไฟล์ในฮาร์ดไดรฟ์ จะเกิดอะไรขึ้นกับเนื้อหาจริงของ/tmpเมื่อฮาร์ดไดรฟ์ของฉันติดตั้งอยู่ เป็นไปได้หรือไม่ที่จะทำการดำเนินงาน r / w กับเนื้อหาจริงของ/tmpในขณะที่ติดตั้งฮาร์ดไดรฟ์ python@lanix / $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 286G 43G 229G 16% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 3.8G 4.0K 3.8G 1% /dev tmpfs 766M 1.4M 765M 1% /run none 5.0M 0 …
80 mount  tmp 

3
สิทธิ์ที่ถูกต้องสำหรับ / tmp คืออะไร ฉันตั้งใจตั้งให้ทุกคนเรียกซ้ำโดยไม่ตั้งใจ
sudoฉันได้ทำร้าย ฉันได้สร้างไดเรกทอรีชั่วคราวชั่วคราวที่สั้นมากจริงๆซึ่งฉันต้องการแบ่งปันระหว่างผู้ใช้บางคนในสองสามชั่วโมง ... และฉันตั้งชื่อไดเรกทอรีนี้ /some/path/tmp น่าเสียดายที่ฉันเปิดsudo chown 777 -R /tmpตัวแทนsudo chown 777 -R tmpดังนั้น/tmpตอนนี้ไฟล์ของฉันจึงเป็นแบบสาธารณะโดยสมบูรณ์ ฉันใช้งานทั่วไป/tmpบ่อยๆ (ทุกวันเกือบทุกชั่วโมง) เป็นการส่วนตัวสำหรับไฟล์ชีวิตสั้นสคริปต์สคริปต์จำนวนมาก ตอนนี้มันเป็นเรื่องความปลอดภัยที่ตั้งไว้อย่างสมบูรณ์ต่อสาธารณะหรือไม่? ฉันควรเปลี่ยนกลับเป็นการตั้งค่าที่ปลอดภัยกว่าหรือชอบการตั้งค่าเริ่มต้นทั่วไปสำหรับ Debian หรือ Ubuntu distro - (ฉันไม่ทราบว่าพวกเขาเป็นใคร) สิทธิ์ที่ถูกต้องมีไว้เพื่อ/tmpอะไร?
78 permissions  chown  tmp 

3
ค้นหา tmp dir ที่ถูกต้องบนหลาย ๆ แพลตฟอร์ม
ฉันมีสคริปต์ที่ต้องการสร้างไฟล์ชั่วคราวสำหรับการทำงานและล้างข้อมูลหลังจากนั้น คำถามของฉันเกี่ยวกับการค้นหาไดเรกทอรีฐานที่เหมาะสมสำหรับไฟล์ชั่วคราว สคริปต์ต้องทำงานกับหลายแพลตฟอร์ม: Git Bash (Windows), Solaris, Linux, OSX ในแต่ละแพลตฟอร์มไดเรกทอรีชั่วคราวที่ต้องการจะแสดงแตกต่างกัน: Windows: %TMP%(และอาจเป็นไปได้%TEMP%) OSX: $TMPDIR Linux, UNIX: น่าจะเป็น$TMPDIRแต่ดูเหมือนว่าจะไม่มีการตั้งค่าในหลาย ๆ ระบบที่ฉันได้ลอง ดังนั้นในสคริปต์ของฉันฉันเพิ่มแผ่นสำเร็จรูปนี้: if test -d "$TMPDIR"; then : elif test -d "$TMP"; then TMPDIR=$TMP elif test -d /var/tmp; then TMPDIR=/var/tmp else TMPDIR=/tmp fi ดูเหมือนว่าน่าเบื่อเกินไป มีวิธีที่ดีกว่า?

3
/ tmp รับประกันว่ามีอยู่หรือไม่
ฉันจำเป็นต้องตรวจสอบและสร้าง/tmpก่อนที่จะเขียนลงในไฟล์ข้างในหรือไม่? สมมติว่าไม่มีใครทำงานsudo rm -rf /tmpเพราะเป็นกรณีที่หายากมาก
42 tmp 

7
ข้อผิดพลาดการทำให้แท็บเสร็จสมบูรณ์: ทุบตี: ไม่สามารถสร้างไฟล์ชั่วคราวสำหรับเอกสารที่นี่: ไม่มีพื้นที่เหลือบนอุปกรณ์
เมื่อใช้แถบแท็บฉันได้รับข้อผิดพลาดนี้: bash: ไม่สามารถสร้างไฟล์ temp สำหรับ here-document: ไม่มีพื้นที่เหลือบนอุปกรณ์ " ความคิดใด ๆ ฉันทำการค้นคว้ามาแล้วหลายคนพูดถึงไฟล์ / tmp ซึ่งอาจมีบางอย่างล้นเหลือ เมื่อฉันรันdf -hฉันจะได้รับ: Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.1G 8.7G 0 100% / udev 10M 0 10M 0% /dev tmpfs 618M 8.8M 609M 2% /run tmpfs 1.6G 0 1.6G 0% /dev/shm tmpfs 5.0M 4.0K …
38 debian  shell  ssh  tmp 

6
มันปลอดภัยที่จะ rm -rf / tmp / *
นี่คือสิ่งที่ฉันเคยทำบน Windows เป็นจำนวนมาก แต่หลังจากความล้มเหลวเมื่อเร็ว ๆ นี้ฉันต้องการตรวจสอบให้แน่ใจ ปลอดภัยไหมที่จะทำ sudo rm -rf /tmp/* ?
29 tmp 

4
จะสร้างไฟล์ชั่วคราวใน RAM ได้อย่างไร?
|tee scriptnameYYMMDD.txtฉันมีสคริปต์ที่จะท่อส่งออกไปยัง หลังจากแต่ละรอบของ for for loop ที่สร้างเอาต์พุตขึ้นมาฉันจะย้อนกลับเนื้อหาไฟล์ด้วยtac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txtเพื่อให้สามารถเห็นเอาต์พุตบันทึกในหน้าต่างเบราว์เซอร์ที่มีบรรทัดใหม่ล่าสุดอยู่ด้านบน ฉันจะมีสคริปต์หลายตัวที่ทำสิ่งนี้ควบคู่กัน ฉันพยายามลดกิจกรรมของดิสก์ให้น้อยที่สุดดังนั้นผลลัพธ์จาก|tee scriptnameYYYYMMDD.txtRAMdisk จะดีที่สุด mktempสร้างไฟล์ใน/tmpโฟลเดอร์ แต่ไม่ปรากฏว่าเป็นดิสก์

2
เมื่อคืนฉันทำผิดซึ่งลบ 1800GB ของไฟล์เซิร์ฟเวอร์ของฉันโดยไม่ได้ตั้งใจ
ฉันรันคำสั่งนี้เมื่อวานนี้ฉันคิดว่าในเครื่องทดสอบ แต่มันเป็นไฟล์เซิร์ฟเวอร์เชื่อมต่อผ่าน SSH sudo rm -rf /tmp/* !(lost+found) เทอร์มินัลอีมูเลเตอร์ของฉันคือ Konsole ระบบของฉันคือ Debian 7 คำถาม: คำสั่งนี้ลบไฟล์อื่นที่ไม่ใช่ไฟล์ใน / tmp หรือไม่
27 files  filesystems  rm  tmp 

3
ล้น / tmp ติดตั้งเมื่อมีพื้นที่ว่างบน /
ฉันเพิ่งเผชิญหน้ากับ "ล้น" /tmpปัญหาเกี่ยวกับ ฉันไม่มี/tmpพาร์ติชั่นแยกต่างหากและมีฟรี 17% /- แล้วทำไมฉันถึงได้รับtmpระบบไฟล์มากเกิน? # /etc/fstab: static file system information. # # Use 'blkid -o value -s UUID' to print the universally unique identifier # for a device; this may be used with UUID= as a more robust way to name # devices that works even if …
26 ubuntu  tmp 

4
ฉันควรเขียนโฟลเดอร์ใดให้กับไฟล์ระดับกลางของฉันในฐานะนักพัฒนา
ฉันเริ่มเขียนสคริปต์ทุบตีบางอย่างสำหรับโครงการของฉันและพวกเขาต้องการไฟล์กลางหรือตัวแปรที่จะเขียน ฉันต้องการทราบว่าโฟลเดอร์ใดที่ฉันสามารถมั่นใจได้ว่ามีสิทธิ์เข้าถึงเมื่อมีคนรันสคริปต์ของฉัน เป็นการใช้งานทั่วไป/tmp/หรือไม่? หรือฉันควรใช้อย่างอื่น?

2
ขอสคริปต์เพื่อรับ
ฉันมีในพาร์ทิชันที่แยกต่างหากและติดตั้งที่มี/tmp noexecฉันใช้ Debian /tmpการติดตั้งแพคเกจบางส่วนล้มเหลวเพราะสคริปต์หลังการติดตั้งแพคเกจบางส่วนต้องหนีจาก ผมสงสัยว่าถ้ามันจะเป็นไปได้ที่จะเบ็ด "" สคริปต์ง่ายในการapt-getที่จะทำงานทุกครั้งก่อนapt-getและ remount ไป/tmp execและในทำนองเดียวกันให้นับใหม่noexecหลังจากapt-getเสร็จสิ้น
17 mount  apt  tmp 

2
ฉันจะสร้างและเข้าถึงไฟล์ temp จาก shell script ได้อย่างปลอดภัยได้อย่างไร?
ฉันได้อ่านแล้วว่าการเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ชื่อคงที่/tmpอาจเป็นความเสี่ยงด้านความปลอดภัยเพราะหากผู้โจมตี (หรือผู้กระทำความผิด) สังเกตเห็นว่าไฟล์/tmp/tmpfileformyscript.tmpถูกสร้างขึ้นเมื่อฉันเรียกใช้สคริปต์ของฉัน (แม้ว่าเขาจะไม่สามารถเข้าถึงการอ่านของฉัน สคริปต์) ตัวอย่างเช่นเขาสามารถสร้าง symlink ln -s ~wildcard/.bashrc /tmp/tmpfileformyscript.tmpซึ่งจะทำให้ฉันทำลาย.bashrcไฟล์ของฉันเมื่อฉันเรียกใช้สคริปต์ของฉัน ดังนั้นฉันสามารถใช้สิ่งที่ชอบfilename="tmpfile.tmp.$RANDOM" ; echo outputtext > "$filename"แทน อย่างไรก็ตามฉันต้องการใช้ไฟล์ tmp สำหรับการแคชในบางครั้งซึ่งในกรณีนี้ฉันต้องการทราบว่า "tmpfile.tmp. *" ตรงกับทุกอย่างใน/tmpนั้นหรือไม่และใช้ไฟล์นั้นแทนการสร้างไฟล์ใหม่หรือไม่ น่าเสียดายtestและสิ่งที่เทียบเท่า[ -f filename ]ไม่สนับสนุนไฟล์ที่ทำให้กลมกลืนไปเท่าที่ฉันสามารถบอกได้ ดังนั้นคำถามของฉันคือสองเท่า: ฉันจะสร้าง tempfile อย่างปลอดภัยได้อย่างไร คือ"predictablename.$RANDOM"การปฏิบัติที่ได้รับการยอมรับหรือมีที่ดีกว่า (ความปลอดภัยมากขึ้นง่ายขึ้น) วิธี? ฉันจะเข้าถึงไฟล์และ / หรือสร้างการมีอยู่ของไฟล์ได้ในภายหลังโดยการตรวจสอบได้predictablenameอย่างไร?

2
tmpwatch ลบไฟล์ที่ฉันวางไว้ใน / tmp เมื่อใด
CentOS 6.x ฉันสับสนเมื่อไฟล์ที่ฉันวางใน / tmp / ถูกลบ /etc/cron.daily/tmpwatch มีดังต่อไปนี้: #! /bin/sh flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ -X '/tmp/hsperfdata_*' 10d /tmp /usr/sbin/tmpwatch "$flags" 30d /var/tmp for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 30d "$d" …
14 centos  tmp 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.